.hero-layout > *, .feature-intro > *, .lab-intro > *, .about-intro > *, .contact-grid > *, .projects > *, .capabilities > * { min-width: 0; }
.tiny-rule { width: 32px; height: 1px; background: currentColor; flex: 0 0 auto; }
.section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-6); padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.section-aside { color: var(--muted); font-size: var(--small-size); }
.hero { color: var(--ink); background: transparent; min-height: 34rem; min-height: clamp(34rem, calc(100svh - 88px), 64rem); overflow-x: clip; }
.hero-glow { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; overflow: hidden; pointer-events: none; background: var(--paper); opacity: 0; }
.hero-glow.is-ready { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .hero-glow { transition: opacity 900ms var(--ease-out); }
}
.hero-glow canvas { display: block; width: 100%; height: 100%; }
.hero-glow.is-static { background: linear-gradient(transparent 52%, var(--paper) 62%), linear-gradient(color-mix(in srgb, var(--paper) 50%, transparent), color-mix(in srgb, var(--paper) 50%, transparent)), radial-gradient(60% 70% at 12% 18%, var(--glow-warm-2), transparent 70%), radial-gradient(50% 60% at 88% 12%, var(--glow-cool-2), transparent 70%), radial-gradient(45% 55% at 70% 50%, var(--glow-warm-1), transparent 70%), var(--paper); }
.hero-glow.is-static canvas { display: none; }
@media (forced-colors: active), print {
  .hero-glow { display: none; }
}
.hero-layout { min-height: inherit; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr) auto; column-gap: var(--space-3); padding-top: var(--space-1); }
.hero-copy { grid-area: 1 / 1 / 2 / 10; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 1; }
.hero .eyebrow { margin-bottom: clamp(16px, 3vh, 36px); color: var(--sky); }
.hero .eyebrow a { text-decoration: none; }
.hero h1 { font-size: 4.5rem; line-height: .96; }
.hero h1 em { font-size: 1em; line-height: inherit; }
.flow { --rail: .6em; --node-x: .14em; --node-y: .535em; position: relative; padding-left: var(--rail); }
.flow::before { content: ""; position: absolute; left: calc(var(--node-x) - .5px); top: var(--node-y); bottom: calc(.96em - var(--node-y)); border-left: 1px solid var(--muted); transform-origin: top; }
.flow-line { display: flow-root; position: relative; clip-path: inset(-.25em -.5em -.24em -1.2em); }
.flow-text { display: block; }
.flow-line::before { content: ""; position: absolute; left: calc(var(--node-x) - var(--rail)); top: var(--node-y); width: .17em; height: .17em; box-sizing: border-box; border: max(1.5px, .022em) solid var(--ink); background: var(--paper); transform: translate(-50%, -50%); }
.flow-line.is-gate::before { border-color: var(--copper); background: var(--copper); transform: translate(-50%, -50%) rotate(45deg); }
.flow-line.is-output::before { border-radius: 50%; background: var(--ink); }
.hero-lede { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); margin-top: clamp(20px, 3.5vh, 44px); }
@media (min-width: 701px) {
  .hero-lede { margin-right: calc((200% + 2 * var(--space-3)) / 9); }
}
@media (min-width: 701px) and (max-height: 500px) {
  .hero-copy { padding-block: var(--space-3); }
}
@media (min-width: 1101px) and (max-width: 1240px) {
  .hero-layout > .portrait { grid-column: 9 / 13; }
}
.hero-description { max-width: 42ch; color: var(--secondary); font-size: 1.125rem; line-height: 1.55; }
.hero-summary { grid-area: 2 / 1 / 3 / 13; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; column-gap: var(--space-3); padding-top: var(--space-2); border-top: 1px solid var(--border); }
.hero-summary > .hero-bridge { grid-column: 1 / span 4; }
.hero-proof { grid-column: 5 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.hero-proof > div { min-width: 0; display: flex; align-items: center; gap: 14px; padding-inline: 20px; border-left: 1px solid var(--border); }
.hero-proof dt { font: 900 2.5rem/1 var(--display-accent); color: var(--sky); }
.hero-proof dd { margin: 0; font-size: .8125rem; line-height: 1.4; font-weight: 800; }
.hero-proof dd span { display: block; margin-top: 4px; color: var(--muted); font-size: .75rem; font-weight: 400; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-4); }
.button-outline { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
@media (hover: hover) and (pointer: fine) {
  .button-outline:hover { background: transparent; color: var(--copper); box-shadow: inset 0 0 0 1.5px var(--copper); }
}
.button-outline:active { background: transparent; color: var(--secondary); box-shadow: inset 0 0 0 1.5px var(--secondary); }
.hero-actions .button { min-width: min(12rem, calc(100vw - 2 * var(--gutter))); }
@media (min-width: 701px) {
  .hero-actions .button { min-width: min(13rem, calc(100vw - 2 * var(--gutter))); }
}
.portrait { grid-area: 1 / 8 / 2 / 13; display: flex; flex-direction: column; min-height: 0; margin: 0; }
.portrait-frame { position: relative; flex: 1; min-height: 0; }
.portrait img { position: absolute; inset: 0; height: 100%; object-fit: contain; object-position: 100% 50%; transform-origin: 50% 100%; }
.hero-index { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); margin-top: 14px; border-top: 1px solid var(--border); padding-block: var(--space-1); color: var(--muted); font-size: .75rem; }
.hero-index > :last-child { display: flex; gap: var(--space-4); }
.hero-index > .text-link { display: inline-flex; font-size: .75rem; }
.feature-intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-8); align-items: end; margin-bottom: var(--space-6); }
.feature-intro > h2 { align-self: center; }
.feature-description { color: var(--secondary); max-width: 47ch; }
.feature-description p:first-child { font-size: 1.1875rem; color: var(--ink); line-height: 1.5; margin-bottom: var(--space-2); }
.feature-description p + p { font-size: .9375rem; }
.dark-section .section-aside { color: var(--inverse-muted); }
.dark-section .section-heading { border-bottom-color: rgb(246 243 234 / .18); }
.lab-intro { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: var(--space-8); margin-bottom: var(--space-8); }
.lab-intro > p { max-width: 38ch; color: var(--inverse-muted); font-size: .9375rem; }
.projects { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: start; }
.project { min-width: 0; }
.project-preview-link { display: block; color: inherit; text-decoration: none; }
.project-preview-link:focus-visible { outline-offset: var(--space-1); }
.project .product-illustration { height: auto; padding: 0; overflow: hidden; background: var(--inverse-bg); }
.product-illustration svg { display: block; width: 100%; height: auto; }
.ill-bg { fill: var(--paper); }
.ill-card { fill: var(--surface); }
.ill-ink { fill: var(--ink); }
.ill-muted { fill: var(--muted); }
.ill-line { fill: var(--border); }
.ill-teal { fill: var(--sky); }
.ill-copper { fill: var(--copper); }
.ill-rose { fill: var(--ill-rose); }
.ill-tint { fill: var(--ill-tint); }
.ill-halo { fill: var(--ill-halo); }
.ill-disc { fill: var(--ill-disc); }
.ill-shade { fill: var(--ill-shade); }
.ill-line-s { stroke: var(--border); }
.ill-ink-s { stroke: var(--ink); }
.ill-teal-s { stroke: var(--sky); }
.ill-copper-s { stroke: var(--copper); }
.ill-rose-s { stroke: var(--ill-rose); }
.ill-wash-a { stop-color: var(--ill-wash); }
.ill-wash-b { stop-color: var(--paper); }
.ill-link { stroke-opacity: .25; }
.ill-ping { opacity: 0; stroke-width: 1.5; }
.ill-tone { fill: var(--copper); opacity: 0; }
.project-category { margin-top: var(--space-3); color: var(--inverse-accent); font-size: var(--small-size); }
.project-preview-link .project-heading { margin-top: var(--space-2); }
.project-summary { margin-top: var(--space-2); color: var(--inverse-muted); font-size: .9375rem; max-width: 48ch; }
.project-preview-link .case-link { margin-top: var(--space-3); }
@media (hover: hover) and (pointer: fine) {
  .project-preview-link:hover h3 { text-decoration: underline; text-underline-offset: .15em; }
}
.project-visual { height: 23rem; min-height: min-content; padding: var(--space-3); display: flex; flex-direction: column; justify-content: space-between; }
.project-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2); margin-top: var(--space-3); }
.project-heading h3 { font: 900 2rem/1.05 var(--display-accent); letter-spacing: 0; }
.project > p { margin-top: var(--space-1); color: var(--inverse-muted); font-size: .9375rem; max-width: 46ch; }
.about-intro { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-8); }
.about-copy { color: var(--secondary); }
.about-copy > p + p { margin-top: var(--space-3); }
.career { --years: 18; --lane: 160px; margin: var(--space-8) 0 0; }
.career-stats { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.career-stat { display: flex; align-items: center; gap: 14px; margin: 0; }
.career-stat strong { font: 900 2.5rem/1 var(--display-accent); font-variant-numeric: tabular-nums; color: var(--secondary); }
.career-stat.is-total strong { color: var(--jade); }
.career-stat.is-lead strong { color: var(--copper); }
.career-stat span { font-size: var(--small-size); line-height: 1.4; font-weight: 400; color: var(--secondary); white-space: nowrap; }
.career-stat abbr { text-decoration: underline dotted var(--muted); text-underline-offset: 3px; cursor: help; }
.career-axis { display: none; }
.career-board { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-auto-flow: row dense; column-gap: 8px; }
.career-phases, .career-roles { display: contents; list-style: none; margin: 0; padding: 0; }
.career-role { grid-column: 2; position: relative; padding: 0 0 var(--space-3) 40px; }
.career-role:last-child { padding-bottom: 0; }
.career-role::before { content: ""; position: absolute; left: 7px; top: 18px; bottom: -4px; border-left: 1px solid var(--muted); transform-origin: top; }
.career-role:last-child::before { display: none; }
.career-node { position: absolute; left: 7px; top: 12px; z-index: 1; width: 13px; height: 13px; box-sizing: border-box; border: 1.5px solid var(--ink); border-radius: 2px; background: var(--paper); transform: translate(-50%, -50%); }
.career-role.is-lead .career-node { border-color: var(--copper); background: var(--copper); border-radius: 1px; transform: translate(-50%, -50%) rotate(45deg); }
.career-bar, .career-now { display: none; }
.career-type { display: block; font-size: var(--label-size); line-height: 1.5; text-transform: uppercase; color: var(--muted); }
.career-role.is-lead .career-type { color: var(--copper); }
.career-title { margin-top: 2px; font-size: var(--small-size); font-weight: 800; line-height: 1.35; }
.career-meta { margin-top: 2px; font-size: .75rem; line-height: 1.4; color: var(--muted); }
.career-years { display: inline-block; white-space: nowrap; }
.career-years::before { content: " · "; white-space: pre; }
.career-phase { grid-column: 1; grid-row: span var(--rows, 1); position: relative; writing-mode: vertical-lr; white-space: nowrap; padding-block-end: 14px; font-size: var(--label-size); line-height: 1.5; color: var(--muted); }
.career-phase::before { content: ""; position: absolute; inset-inline: 0 8px; inset-block-end: 6px; border-block-start: 1px solid var(--muted); transform-origin: 0 0; }
.career-phase.is-now::before { inset-inline-end: 0; }
.career-phase::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: 0; block-size: 7px; border-inline-start: 1px solid var(--muted); transform-origin: 0 0; }
.career-phase-name { display: inline-block; font-weight: 800; text-transform: uppercase; color: var(--secondary); }
.career-phase-years { display: inline-block; margin-inline-start: 2px; font-variant-numeric: tabular-nums; }
@media (min-width: 1200px) {
  .career-board { display: block; position: relative; }
  .career-phases { display: block; position: relative; height: 30px; margin: 0 0 6px; }
  .career-phase { position: absolute; writing-mode: horizontal-tb; top: 0; bottom: 0; left: calc(var(--from) / var(--years) * 100%); width: calc((var(--to) - var(--from)) / var(--years) * 100%); }
  .career-axis { display: block; position: relative; height: 26px; }
  .career-axis span { position: absolute; left: calc(var(--at) / var(--years) * 100%); font-size: var(--label-size); line-height: 1.5; color: var(--muted); font-variant-numeric: tabular-nums; }
  .career-roles { display: block; position: relative; height: var(--lane); background: linear-gradient(var(--border), var(--border)) 0 33px / 100% 1px no-repeat; }
  .career-role { position: absolute; top: 0; left: calc(var(--from) / var(--years) * 100%); width: calc((var(--to) - var(--from)) / var(--years) * 100%); height: var(--lane); padding: 0; }
  .career-role::before { display: none; }
  .career-bar { display: block; position: absolute; left: 0; right: 0; top: 32px; height: 3px; background: var(--secondary); transform-origin: 0 50%; }
  .career-role.is-lead .career-bar { background: var(--copper); }
  .career-node { top: 33.5px; }
  .career-now { display: block; position: absolute; right: 0; top: 33.5px; z-index: 1; width: 13px; height: 13px; border-radius: 50%; background: var(--copper); transform: translate(50%, -50%); }
  .career-now::after { content: ""; position: absolute; inset: -1.5px; border-radius: 50%; border: 1px solid var(--copper); opacity: 0; }
  .career-text { position: absolute; left: 0; top: 50px; max-width: 100%; padding-right: 6px; }
  .career-meta span { display: block; }
  .career-years::before { content: none; }
  .career-type { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
.capabilities { display: grid; grid-template-columns: 1fr 2fr; gap: var(--space-8); margin-top: var(--space-8); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.capabilities-head > h3 { font-size: 2rem; line-height: 1.2; letter-spacing: 0; }
.capabilities-head .text-link { margin-top: var(--space-3); }
.capabilities dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.capabilities dt { font-size: var(--small-size); font-weight: 800; margin-bottom: var(--space-1); }
.capabilities dd { margin: 0; color: var(--muted); font-size: .875rem; }
.recognition h2 { margin-bottom: var(--space-6); }
.awards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--space-4) var(--space-3); }
.award { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); min-width: 0; padding-top: var(--space-2); border-top: 2px solid var(--copper); }
.award-meta { display: flex; flex-wrap: wrap; gap: 4px var(--space-2); margin: 0; font-size: var(--label-size); font-weight: 800; line-height: 1.5; text-transform: uppercase; color: var(--muted); font-variant-numeric: tabular-nums; }
.award-status { color: var(--copper); }
.award h3 { font: 900 1.375rem/1.2 var(--display-accent); letter-spacing: 0; }
.award p:not(.award-meta) { margin: 0; color: var(--muted); font-size: .875rem; }
.award .text-link { margin-top: auto; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); align-items: center; }
.contact h2 { margin-top: var(--space-3); font-size: 5rem; line-height: .98; letter-spacing: 0; }
.contact h2 em { color: var(--copper); }
.contact-copy { padding-top: var(--space-6); }
.contact-copy > p:not(.lead) { margin-top: var(--space-2); font-size: .9375rem; color: var(--secondary); max-width: 41ch; }
.contact-copy .text-link { margin-top: var(--space-2); }
.hero-bridge { max-width: 54ch; color: var(--muted); font-size: .875rem; line-height: 1.55; }
.enterprise-intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-8); align-items: end; margin-bottom: var(--space-6); }
.enterprise { background: var(--paper); border-block: 1px solid var(--border); }
.enterprise-intro > p { color: var(--secondary); max-width: 46ch; }
.enterprise-row { position: relative; display: grid; grid-template-columns: 1fr 1fr .82fr; gap: var(--space-4); padding-block: var(--space-6); border-top: 1px solid var(--border); }
.enterprise-row::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: var(--sky); transform: scaleX(0); transform-origin: left; transition: transform 320ms ease; }
.enterprise-row:focus-within::after { transform: scaleX(1); }
.enterprise-row .case-link::before { content: ""; position: absolute; inset: 0; }
@media (hover: hover) and (pointer: fine) {
  .enterprise-row:hover .case-link { color: var(--copper); border-color: currentColor; }
}
@supports selector(:has(*)) {
  .enterprise-row .case-link:focus-visible { outline: none; }
  .enterprise-row:has(.case-link:focus-visible) { outline: 2px solid var(--copper); outline-offset: -2px; }
}
.enterprise-row > * { min-width: 0; }
.enterprise-heading h3 { font-size: 2.5rem; line-height: 1.08; letter-spacing: 0; margin-block: var(--space-2) var(--space-3); }
.enterprise-heading h3 > * { display: block; }
.enterprise-heading h3 em { margin-top: -.15em; font-size: .9em; color: var(--sky); background-image: none; -webkit-text-fill-color: var(--sky); }
.enterprise-description { display: flex; flex-direction: column; align-items: start; justify-content: space-between; gap: var(--space-3); color: var(--secondary); font-size: .9375rem; }
.enterprise-result strong { display: block; font: 900 3.75rem/.98 var(--display-accent); letter-spacing: 0; color: var(--copper); }
.enterprise-result { container-type: inline-size; }
.enterprise-result strong { font-size: min(3.75rem, 28cqi); }
.enterprise-result strong.is-wide { font-size: min(3.75rem, 19cqi); }
.enterprise-result > p { font-size: .875rem; margin-top: var(--space-1); }
.enterprise-result small { display: block; font-size: .75rem; line-height: 1.65; color: var(--muted); margin-top: var(--space-2); }
.enterprise-result .source-link { gap: var(--space-1); }
.band, .contact { --paper: var(--inverse-bg); --ink: var(--inverse-text); --secondary: var(--inverse-muted); --muted: var(--inverse-muted); --border: rgb(246 243 234 / .18); --warm: rgb(246 243 234 / .08); --copper: var(--inverse-accent); --copper-gradient: var(--copper-lit-gradient); }
.pipeline { margin-top: var(--space-8); }
.lane-labels { display: none; }
.lane-labels span, .step-lane { font-size: var(--label-size); line-height: 1.5; text-transform: uppercase; color: var(--muted); }
.pipeline-steps { list-style: none; margin: 0; padding: 0; }
.pipeline-step { position: relative; min-width: 0; padding: 0 0 var(--space-4) 40px; }
.pipeline-step:last-child { padding-bottom: 0; }
.pipeline-step::before { content: ""; position: absolute; left: 7px; top: 18px; bottom: -4px; border-left: 1px solid var(--muted); transform-origin: top; }
.pipeline-step:last-child::before { display: none; }
.pipeline-node { position: absolute; left: 7px; top: 12px; z-index: 1; width: 13px; height: 13px; box-sizing: border-box; border: 1.5px solid var(--ink); border-radius: 2px; background: var(--paper); transform: translate(-50%, -50%); }
.is-gate .pipeline-node { border-color: var(--copper); background: var(--copper); border-radius: 1px; transform: translate(-50%, -50%) rotate(45deg); }
.is-output .pipeline-node { border-radius: 50%; background: var(--ink); }
.is-output .pipeline-node::after { content: ""; position: absolute; inset: -1.5px; border-radius: 50%; border: 1px solid var(--ink); opacity: 0; }
.pipeline-link { display: none; }
.step-lane { display: block; }
.is-gate .step-lane { color: var(--copper); }
.pipeline-step .process-index { margin: 2px 0 0; }
.pipeline-step h3 { margin-top: 2px; }
.pipeline-step p { margin-top: 4px; font-size: .8125rem; line-height: 1.43; color: var(--secondary); text-wrap: balance; }
@media (min-width: 1001px) {
  .pipeline-lanes { --ty: 30px; position: relative; }
  .lane-labels { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); position: absolute; inset: 0; pointer-events: none; }
  .lane-labels span { padding: calc(var(--ty) - 26px) 16px 0 0; text-align: right; }
  .pipeline-steps {
    display: grid; position: relative;
    grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .pipeline-lanes::before, .lane-labels::before, .lane-labels::after { content: ""; position: absolute; left: 0; width: 100%; height: 0; border-top: 1px solid var(--border); }
  .pipeline-lanes::before { top: var(--ty); }
  .lane-labels::before { top: calc(100% / 3 + var(--ty)); }
  .lane-labels::after { top: calc(200% / 3 + var(--ty)); }
  .pipeline-step { padding: calc(var(--ty) + 26px) 20px 36px 26px; }
  .pipeline-step:nth-child(1) { grid-area: 1 / 1; }
  .pipeline-step:nth-child(2) { grid-area: 3 / 2; }
  .pipeline-step:nth-child(3) { grid-area: 1 / 3; }
  .pipeline-step:nth-child(4) { grid-area: 2 / 4; }
  .pipeline-step:nth-child(5) { grid-area: 3 / 5; }
  .pipeline-step::before { display: none; }
  .pipeline-node { left: 0; top: var(--ty); width: 15px; height: 15px; }
  .step-lane { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .pipeline-link { display: block; position: absolute; left: 0; width: 100%; border: 0 solid var(--muted); }
  .pipeline-step:nth-child(1) .pipeline-link { top: var(--ty); height: calc(200% + 1px); border-width: 0 0 1.5px 1.5px; border-bottom-left-radius: 16px; }
  .pipeline-step:nth-child(2) .pipeline-link { top: calc(var(--ty) - 200%); height: 200%; border-width: 1.5px 0 0 1.5px; border-top-left-radius: 16px; }
  .pipeline-step:nth-child(3) .pipeline-link,
  .pipeline-step:nth-child(4) .pipeline-link { top: var(--ty); height: calc(100% + 1px); border-width: 0 0 1.5px 1.5px; border-bottom-left-radius: 16px; }
}
@media (min-width: 1001px) {
  .band .section-heading { margin-bottom: var(--space-2); }
  .band h2 { font-size: 3rem; }
  .band .feature-intro { margin-bottom: var(--space-2); }
  .band .pipeline { margin-top: 0; }
  .band .pipeline-lanes { --ty: 22px; }
  .band .pipeline-step { padding-top: calc(var(--ty) + 16px); padding-bottom: var(--space-1); }
}
.project > .case-link { margin-top: var(--space-3); color: var(--inverse-text); border-color: var(--inverse-muted); }
@media (hover: hover) and (pointer: fine) {
  .project > .case-link:hover { color: var(--inverse-muted); }
}
@media (min-width: 1360px) {
  .hero h1 { font-size: 5rem; }
}
@media (min-width: 1101px) {
  .hero-summary > .hero-bridge { grid-column: 1 / span 3; }
  .hero-proof { grid-column: 4 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr); }
}
@media (min-width: 1101px) and (max-width: 1279px) {
  .hero-proof > div { gap: 12px; padding-inline: 16px; }
  .hero-proof dt { font-size: 2rem; }
}
@media (max-width: 1100px) {
  .hero h1 { font-size: 3.5rem; }
  .hero-layout { column-gap: var(--space-3); }
  .hero-actions { gap: var(--space-3); }
  .hero-proof > div { display: block; padding-inline: var(--space-2); }
  .hero-proof dd { margin-top: var(--space-1); }
  .feature-intro, .lab-intro, .about-intro, .contact-grid { gap: var(--space-4); }
}
@media (max-width: 1000px) {
  .hero h1 { font-size: 3rem; }
}
@media (max-width: 850px) {
  .enterprise-row { grid-template-columns: 1fr 1fr; }
  .enterprise-heading { grid-row: span 2; }
  .enterprise-result { grid-column: 2; }
  .enterprise-intro { gap: var(--space-4); }
  .hero h1 { font-size: 2.625rem; }
  .hero .eyebrow { font-size: var(--label-size); gap: var(--space-1); }
  .hero .tiny-rule { width: 16px; }
  .hero-description { font-size: 1.125rem; }
  .hero-actions { gap: var(--space-2); }
  .hero .button { padding-inline: var(--space-2); gap: var(--space-3); }
  .portrait { margin-top: 0; }
  .hero-summary { row-gap: var(--space-2); }
  .hero-summary > .hero-bridge, .hero-proof { grid-column: 1 / -1; }
  .hero-proof > div:first-child { padding-left: 0; border-left: 0; }
  .projects { gap: var(--space-4); }
  .project-visual { min-height: min-content; padding: var(--space-2); }
  .project-heading { display: block; }
  .capabilities { grid-template-columns: 1fr 2fr; gap: var(--space-4); }
}
@media (max-width: 700px) {
  .enterprise-intro, .enterprise-row { grid-template-columns: 1fr; }
  .enterprise-heading { grid-row: auto; }
  .enterprise-rows { display: grid; gap: var(--space-2); }
  .enterprise-row { gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--border); background: var(--surface); }
  .enterprise-result { grid-column: auto; margin: 0 calc(var(--space-3) * -1) calc(var(--space-3) * -1); padding: var(--space-3); background: var(--warm); }
  .enterprise-heading h3 { font-size: 2.125rem; }
  .enterprise-heading h3 br { display: none; }
  .hero { height: auto; min-height: 0; max-height: none; }
  .hero-layout { --portrait: min(100vw - 2 * var(--gutter) - var(--space-8), 15rem); grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: none; padding-top: 0; }
  .hero-copy { display: contents; }
  .portrait { grid-column: 1; grid-row: 1; justify-self: center; width: var(--portrait); margin: calc(var(--space-1) * -1) 0 0; padding-bottom: 0; }
  .portrait-frame { flex: none; aspect-ratio: 1074 / 1119; }
  .hero .eyebrow { grid-column: 1; grid-row: 2; flex-direction: column; align-items: center; gap: var(--space-1); margin: var(--space-2) 0 0; font-size: var(--label-size); text-align: center; }
  .hero .eyebrow > span:not(.tiny-rule) { text-wrap: balance; }
  .hero .eyebrow-name { display: block; margin-bottom: 4px; color: var(--ink); font: 900 clamp(1.375rem, 7vw, 2.25rem)/1.05 var(--display-accent); text-transform: none; }
  .hero .eyebrow-slash { display: none; }
  .hero .tiny-rule { width: 24px; background: var(--copper); }
  .hero h1 { grid-column: 1; grid-row: 3; margin-top: var(--space-4); font-size: 3.5rem; }
  .hero-lede { grid-column: 1; grid-row: 4; gap: var(--space-4); margin-top: var(--space-3); }
  .hero-summary { grid-column: 1; grid-row: 5; margin-top: var(--space-4); }
  .hero h1 em { font-size: .94em; }
  .flow { --rail: .5em; margin-left: -14px; }
  .hero-description { font-size: 1.125rem; max-width: 39ch; }
  .hero-actions { width: 100%; gap: var(--space-1); }
  .hero-actions .button { flex: 1 1 auto; min-width: 0; gap: var(--space-1); padding-inline: var(--space-2); }
  .portrait img { object-position: 50% 100%; }
  .hero-index { margin-top: 0; gap: 0 var(--space-3); }
  .hero-index { flex-wrap: wrap; align-items: center; }
  .hero-proof { grid-template-columns: 1fr; gap: 0; }
  .hero-proof > div { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-2); padding: var(--space-2) 0; border-left: 0; border-top: 1px solid var(--border); }
  .hero-proof > div:first-child { border-top: 0; padding-top: 0; }
  .hero-proof dt { flex: 0 0 7.5rem; font-size: 2rem; }
  .hero-proof dd { flex: 1 1 8rem; min-width: 0; margin-top: 0; }
  .section-heading { align-items: start; margin-bottom: var(--space-4); gap: var(--space-2); }
  .section-aside { font-size: var(--label-size); text-align: right; max-width: 17ch; }
  .feature-intro, .lab-intro, .about-intro, .contact-grid { grid-template-columns: 1fr; }
  .feature-intro { gap: var(--space-3); margin-bottom: var(--space-4); }
  .feature-description { max-width: 50ch; }
  .feature-description p:first-child { font-size: 1.0625rem; }
  .lab-intro { margin-bottom: var(--space-4); gap: var(--space-3); }
  .lab-intro > p { max-width: 48ch; }
  .projects { grid-template-columns: 1fr; gap: var(--space-6); }
  .project-visual { min-height: min-content; padding: var(--space-3); }
  .project-heading { display: flex; }
  .about-intro { gap: var(--space-3); }
  .career-stats { column-gap: var(--space-2); }
  .career-stat { flex: 1 1 5rem; flex-direction: column; align-items: flex-start; gap: 6px; }
  .career-stat span { white-space: normal; text-wrap: balance; }
  .capabilities { grid-template-columns: 1fr; margin-top: var(--space-6); }
  .capabilities-head > h3 br { display: none; }
  .capabilities dl { gap: var(--space-3); }
  .contact-grid { gap: var(--space-3); }
  .contact h2 { font-size: 3.5rem; }
  .contact-copy { padding-top: var(--space-2); }
}
@media (max-width: 480px) {
  .hero h1 { font-size: 2.625rem; }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 2.25rem; }
  .capabilities dl { grid-template-columns: 1fr; }
  .project-heading { display: block; }
  .section-heading { flex-direction: column; }
  .section-aside { text-align: left; max-width: none; }
}
@media (max-width: 359px) {
  .flow { margin-left: -10px; }
}
@media (max-width: 700px) and (max-height: 720px) {
  .portrait { width: min(var(--portrait), max(8.5rem, 100vh - 27.5rem)); width: min(var(--portrait), max(8.5rem, 100svh - 27.5rem)); }
  .hero .eyebrow { margin-top: var(--space-1); }
  .hero h1 { margin-top: var(--space-3); font-size: clamp(2rem, 9vw, 2.625rem); }
  .hero-lede { gap: var(--space-3); margin-top: var(--space-2); }
  .hero-description { font-size: 1rem; }
}
@media (forced-colors: active) {
  .project-visual { border: 1px solid CanvasText; }
  .tiny-rule, .flow-line.is-gate::before, .flow-line.is-output::before, .is-gate .pipeline-node, .is-output .pipeline-node { background: CanvasText; }
}
@media print {
  .enterprise-row { break-inside: avoid; }
  .hero-actions, .hero-index { display: none; }
  .hero { --ink: #000; --surface: #fff; --secondary: #222; --muted: #444; --copper: #623414; --border: #aaa; background: white; color: black; }
  .hero .eyebrow { color: #444; }
  .hero { height: auto; min-height: 0; max-height: none; }
  .hero-layout { grid-template-columns: 1.5fr 1fr; grid-template-rows: none; grid-template-areas: "copy portrait" "summary summary"; padding-top: 16px; }
  .hero-copy { grid-area: copy; }
  .hero-summary { grid-area: summary; }
  .hero h1 { font-size: 32pt; }
  .hero-description { font-size: 11pt; }
  .portrait { grid-area: portrait; margin-top: 0; max-width: 200px; justify-self: end; }
  .portrait-frame { flex: none; aspect-ratio: 1074 / 1119; }
  .contact { background: white; color: black; }
  .dark-section .section-aside, .project > p, .lab-intro > p { color: black; }
  .project-visual { display: none; }
  .projects { gap: 32px; }
  .project, .feature-intro, .about-intro, .contact-grid { break-inside: avoid; }
  .contact h2 { font-size: 48pt; }
  .contact-copy { padding-top: 0; }
}
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .enterprise-result strong {
    padding-block: .16em;
    margin-block: -.16em;
    background-image: var(--copper-gradient);
    background-size: 240% 100%;
    background-position: var(--metal-position, 60%) 50%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
  .enterprise-result strong.counting { background-image: none; -webkit-text-fill-color: currentColor; }
  .enterprise-result strong .counter-value {
    padding-block: .16em;
    background-image: var(--copper-gradient);
    background-size: 240% 100%;
    background-position: var(--metal-position, 60%) 50%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.hero-proof dt, .enterprise-result strong { font-variant-numeric: tabular-nums; }
@keyframes line-rise {
  from { transform: translateY(118%); }
}
@keyframes lane-draw {
  from { width: 0; }
  to { width: 100%; }
}
@keyframes step-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes label-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}
@keyframes draw-x {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes now-in {
  from { opacity: 0; transform: translate(50%, -50%) scale(.5); }
  to { opacity: 1; transform: translate(50%, -50%) scale(1); }
}
@keyframes draw-y {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}
@keyframes node-in {
  from { opacity: 0; transform: translate(-50%, -50%) scale(.5); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes gate-in {
  from { opacity: 0; transform: translate(-50%, -50%) rotate(0deg) scale(.5); }
  to { opacity: 1; transform: translate(-50%, -50%) rotate(45deg) scale(1); }
}
@keyframes print-in {
  from { clip-path: inset(100% 0 0 0); }
  to { clip-path: inset(0 0 0 0); }
}
@keyframes settle {
  from { transform: scale(1.14); }
}
@keyframes draw-down {
  0% { clip-path: inset(-2px calc(100% - 3px) calc(100% + 2px) -2px); }
  55% { clip-path: inset(-2px calc(100% - 3px) -2px -2px); }
  100% { clip-path: inset(-2px -2px -2px -2px); }
}
@keyframes draw-up {
  0% { clip-path: inset(calc(100% + 2px) calc(100% - 3px) -2px -2px); }
  55% { clip-path: inset(-2px calc(100% - 3px) -2px -2px); }
  100% { clip-path: inset(-2px -2px -2px -2px); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero .eyebrow { animation: rise 900ms var(--ease-out) both; }
  .flow-text { animation: line-rise 1100ms var(--ease-out) both; }
  .flow-line:nth-child(1) .flow-text { animation-delay: 80ms; }
  .flow-line:nth-child(2) .flow-text { animation-delay: 190ms; }
  .flow-line:nth-child(3) .flow-text { animation-delay: 300ms; }
  .flow::before { animation: draw-y 1100ms var(--ease-in-out) 200ms both; }
  .flow-line::before { animation: node-in 600ms var(--ease-out) both; }
  .flow-line:nth-child(1)::before { animation-delay: 150ms; }
  .flow-line:nth-child(2)::before { animation-name: gate-in; animation-delay: 700ms; }
  .flow-line:nth-child(3)::before { animation-delay: 1220ms; }
  .hero-description { animation: rise 900ms var(--ease-out) 420ms both; }
  .hero-actions { animation: rise 900ms var(--ease-out) 520ms both; }
  .hero-summary { animation: rise 900ms var(--ease-out) 640ms both; }
  .portrait img { animation: print-in 1300ms var(--ease-in-out) 240ms backwards, settle 1900ms var(--ease-out) 240ms backwards; }
  .pipeline-step { --k: 0; --t0: 150ms; --t: calc(var(--k) * 420ms + var(--t0)); }
  .pipeline-step:nth-child(2) { --k: 1; }
  .pipeline-step:nth-child(3) { --k: 2; }
  .pipeline-step:nth-child(4) { --k: 3; }
  .pipeline-step:nth-child(5) { --k: 4; }
  .sequence-armed .pipeline-step > :not(.pipeline-node):not(.pipeline-link) { opacity: 0; }
  .sequence-armed .pipeline-node { opacity: 0; }
  .sequence-armed .pipeline-link { clip-path: inset(0 100% 100% 0); }
  .sequence-armed .pipeline-step::before { transform: scaleY(0); }
  .sequence-armed .lane-labels span { opacity: 0; }
  @media (min-width: 1001px) {
  .pipeline-step { --t0: 700ms; }
  .sequence-armed .pipeline-lanes::before, .sequence-armed .lane-labels::before, .sequence-armed .lane-labels::after { width: 0; }
  .sequence-armed.is-in .pipeline-lanes::before { animation: lane-draw 420ms var(--ease-in-out) both; }
  .sequence-armed.is-in .lane-labels::before { animation: lane-draw 360ms var(--ease-in-out) 420ms both; }
  .sequence-armed.is-in .lane-labels::after { animation: lane-draw 420ms var(--ease-in-out) 780ms both; }
  .sequence-armed.is-in .lane-labels span:nth-child(1) { animation-delay: 270ms; }
  .sequence-armed.is-in .lane-labels span:nth-child(2) { animation-delay: 630ms; }
  .sequence-armed.is-in .lane-labels span:nth-child(3) { animation-delay: 1050ms; }
}
  .sequence-armed.is-in .pipeline-step > :not(.pipeline-node):not(.pipeline-link) { animation: step-in 900ms var(--ease-out) calc(var(--t) + 60ms) both; }
  .sequence-armed.is-in .lane-labels span { animation: label-in 500ms var(--ease-out) both; }
  .sequence-armed.is-in .pipeline-node { animation: node-in 500ms var(--ease-out) var(--t) both; }
  .sequence-armed.is-in .is-gate .pipeline-node { animation-name: gate-in; }
  .sequence-armed.is-in .is-output .pipeline-node::after { animation: ring 1000ms var(--ease-out) calc(var(--t) + 380ms) both; }
  .sequence-armed.is-in .pipeline-step::before { animation: draw-y 360ms var(--ease-in-out) calc(var(--t) + 90ms) both; }
  .sequence-armed.is-in .pipeline-link { clip-path: none; animation: draw-down 380ms var(--ease-in-out) calc(var(--t) + 60ms) backwards; }
  .sequence-armed.is-in .pipeline-step:nth-child(2) .pipeline-link { animation-name: draw-up; }
  .career { --k: 90ms; }
  @media (min-width: 1200px) {
  .career { --k: 170ms; }
}
  .sequence-armed .career-axis, .sequence-armed .career-node, .sequence-armed .career-text, .sequence-armed .career-now, .sequence-armed .career-phase > span { opacity: 0; }
  .sequence-armed .career-bar { transform: scaleX(0); }
  .sequence-armed .career-role::before { transform: scaleY(0); }
  .sequence-armed .career-phase::before { transform: scaleY(0); }
  .sequence-armed .career-phase::after { transform: scaleX(0); }
  .sequence-armed.is-in .career-axis { animation: label-in 600ms var(--ease-out) 200ms both; }
  .sequence-armed.is-in .career-node { animation: node-in 500ms var(--ease-out) calc(var(--from) * var(--k) + 300ms) both; }
  .sequence-armed.is-in .career-role.is-lead .career-node { animation-name: gate-in; }
  .sequence-armed.is-in .career-text { animation: label-in 600ms var(--ease-out) calc(var(--from) * var(--k) + 650ms) both; }
  .sequence-armed.is-in .career-bar { animation: draw-x calc((var(--to) - var(--from)) * var(--k)) linear calc(var(--from) * var(--k) + 300ms) both; }
  .sequence-armed.is-in .career-role::before { animation: draw-y 360ms var(--ease-in-out) calc(var(--from) * var(--k) + 390ms) both; }
  .sequence-armed.is-in .career-phase > span { animation: label-in 600ms var(--ease-out) calc(var(--from) * var(--k) + 300ms) both; }
  .sequence-armed.is-in .career-phase::before { animation: draw-y calc((var(--to) - var(--from)) * var(--k)) linear calc(var(--from) * var(--k) + 300ms) both; }
  .sequence-armed.is-in .career-phase::after { animation: draw-x 360ms var(--ease-in-out) calc(var(--from) * var(--k) + 300ms) both; }
  .sequence-armed.is-in .career-now { animation: now-in 500ms var(--ease-out) calc(var(--to) * var(--k) + 300ms) both; }
  .sequence-armed.is-in .career-now::after { animation: ring 1000ms var(--ease-out) calc(var(--to) * var(--k) + 680ms) both; }
  @media (min-width: 1200px) {
  .sequence-armed .career-phase::before { transform: scaleX(0); }
  .sequence-armed .career-phase::after { transform: scaleY(0); }
  .sequence-armed.is-in .career-phase::before { animation-name: draw-x; }
  .sequence-armed.is-in .career-phase::after { animation-name: draw-y; }
}
}
.ill-hov, .ill-idle, .ill-glow, .ill-rule, .ill-tick, .ill-ping { transform-box: fill-box; transform-origin: 50% 50%; }
.ill-hov-wave, .ill-idle-wave { transform-origin: 0 100%; }
@keyframes ill-rise {
  to { transform: translateY(-8px); }
}
@keyframes ill-sink {
  to { transform: translateY(5px); }
}
@keyframes ill-twinkle {
  to { transform: scale(.72) rotate(45deg); opacity: .6; }
}
@keyframes ill-blink {
  to { opacity: .3; }
}
@keyframes ill-wave {
  0%, 40%, 100% { transform: rotate(0); }
  10% { transform: rotate(-10deg); }
  20% { transform: rotate(4deg); }
  30% { transform: rotate(-7deg); }
}
@keyframes ill-ping {
  0% { opacity: 0; transform: scale(1); }
  8% { opacity: .5; }
  50%, 100% { opacity: 0; transform: scale(1.12); }
}
@media (prefers-reduced-motion: no-preference) {
  .product-illustration { --ill-ease: cubic-bezier(.37, 0, .63, 1); }
  .ill-idle-cherry { animation: ill-rise 4.6s var(--ill-ease) infinite alternate paused; }
  .ill-idle-back { animation: ill-rise 5.8s var(--ill-ease) .5s infinite alternate paused; }
  .ill-idle-front { animation: ill-sink 6.6s var(--ill-ease) 1s infinite alternate paused; }
  .ill-idle-mark { animation: ill-rise 5.2s var(--ill-ease) infinite alternate paused; }
  .ill-idle-spark { animation: ill-twinkle 3.4s var(--ill-ease) infinite alternate paused; }
  .ill-idle-wave { animation: ill-wave 7s ease-in-out infinite paused; }
  .ill-idle-blink-a { animation: ill-blink 3.1s var(--ill-ease) infinite alternate paused; }
  .ill-idle-blink-b { animation: ill-blink 4.3s var(--ill-ease) .8s infinite alternate paused; }
  .ill-ping { animation: ill-ping 6.5s ease-out infinite paused; }
  .is-live .ill-idle, .is-live .ill-ping { animation-play-state: running; }
}
@media (hover: hover) and (pointer: fine) {
  .project-preview-link:is(:hover, :focus-visible) .ill-tone { opacity: .06; }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .ill-hov, .ill-glow, .ill-rule, .ill-tick { transition: transform 380ms var(--ease-out); }
  .ill-link { transition: stroke-opacity 380ms var(--ease-out); }
  .ill-tone { transition: opacity 380ms var(--ease-out); }
  .project-preview-link:is(:hover, :focus-visible) :is(.ill-hov, .ill-glow, .ill-rule, .ill-tick, .ill-link, .ill-tone) { transition-duration: 520ms; }
  .project-preview-link:is(:hover, :focus-visible) .ill-hov-cherry { transform: translateY(-10px) scale(1.05); }
  .project-preview-link:is(:hover, :focus-visible) .ill-hov-back { transform: translate(-14px, -8px) rotate(-3deg); }
  .project-preview-link:is(:hover, :focus-visible) .ill-hov-front { transform: translate(14px, 6px) rotate(3deg); }
  .project-preview-link:is(:hover, :focus-visible) .ill-hov-spark { transform: rotate(90deg) scale(1.25); }
  .project-preview-link:is(:hover, :focus-visible) .ill-hov-mark { transform: translateY(-4px); }
  .project-preview-link:is(:hover, :focus-visible) .ill-hov-wave { transform: rotate(-14deg); }
  .project-preview-link:is(:hover, :focus-visible) .ill-glow { transform: scale(1.1); }
  .project-preview-link:is(:hover, :focus-visible) .ill-link { stroke-opacity: .5; }
  .project-preview-link:is(:hover, :focus-visible) .ill-rule { transform: scaleX(1.3); }
  .project-preview-link:is(:hover, :focus-visible) .ill-tick-n { transform: translateY(14px); }
  .project-preview-link:is(:hover, :focus-visible) .ill-tick-s { transform: translateY(-14px); }
  .project-preview-link:is(:hover, :focus-visible) .ill-tick-w { transform: translateX(14px); }
  .project-preview-link:is(:hover, :focus-visible) .ill-tick-e { transform: translateX(-14px); }
}
@media (hover: hover) and (pointer: fine) {
  .portrait img { transition: transform 700ms cubic-bezier(.2,.65,.3,1); }
  .portrait:hover img { transform: scale(1.025); }
  .enterprise-row:hover::after { transform: scaleX(1); }
}
.project > .case-link:active { color: var(--inverse-muted); }
@media (pointer: coarse) {
  .hero .eyebrow a { padding-block: 15px; }
}
.role-line { font-size: .75rem; color: var(--muted); }
.pipeline-step h3 { font: 900 1.25rem/1.3 var(--display-accent); letter-spacing: 0; }
@media (forced-colors: active) {
  .hero *, .hero *::before { animation: none; }
  .hero h1 em { background: none; -webkit-text-fill-color: CanvasText; color: CanvasText; animation: none; }
}
@media print {
  .hero *, .hero *::before { animation: none; }
  .sequence-armed .lane-labels span, .sequence-armed .pipeline-step > :not(.pipeline-node):not(.pipeline-link) { opacity: 1; transform: none; }
  .sequence-armed .pipeline-node { opacity: 1; }
  .sequence-armed .pipeline-link { clip-path: none; }
  .sequence-armed .pipeline-step::before { transform: none; }
  .sequence-armed .pipeline-lanes::before, .sequence-armed .lane-labels::before, .sequence-armed .lane-labels::after { width: 100%; }
  .hero h1 em { background: none; -webkit-text-fill-color: currentColor; color: var(--copper); animation: none; }
}
