:root {
  --paper: #f3f1e9;
  --paper-deep: #e8e5da;
  --ink: #20251f;
  --muted: #667067;
  --line: #b9bdb2;
  --orange: #df572b;
  --orange-deep: #b93f1f;
  --sage: #d9dfd0;
  --forest: #202d26;
  --forest-light: #314238;
  --ochre: #d7b86a;
  --white: #fffdf7;
  --shell: 1320px;
  --gutter: clamp(20px, 4.45vw, 64px);
  --display: "Space Grotesk", sans-serif;
  --body: "DM Sans", sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.dialog-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
a, button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
[hidden] { display: none !important; }

.shell { width: min(var(--shell), calc(100% - (var(--gutter) * 2))); margin-inline: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 50; padding: 10px 14px; background: var(--orange); color: var(--white); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.no-js .js-only { display: none !important; }

.site-header {
  position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--paper) 94%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); backdrop-filter: blur(12px);
}
.site-header__inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--display); font-weight: 600; letter-spacing: -.05em; font-size: 1.2rem; }
.brand__mark { width: 27px; height: 23px; color: var(--orange); }
.brand small { padding-left: 9px; border-left: 1px solid var(--line); font: 400 .65rem/1.2 var(--body); letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 34px); font-size: .86rem; }
.site-nav > a:not(.nav-contact) { padding-block: 12px; border-bottom: 1px solid transparent; }
.site-nav > a:not(.nav-contact):hover { border-color: var(--orange); }
.nav-contact { display: inline-flex; align-items: center; min-height: 40px; gap: 9px; padding: 0 14px; border: 1px solid var(--orange); color: var(--orange-deep); transition: background-color .2s ease, color .2s ease; }
.nav-contact svg { width: 14px; }
.nav-contact:hover { background: var(--orange); color: var(--white); }
.nav-toggle { display: none; width: 46px; height: 44px; padding: 0; border: 1px solid var(--ink); background: transparent; }
.nav-toggle span:not(.sr-only) { display: block; width: 18px; height: 1px; margin: 4px auto; background: currentColor; transition: transform .2s ease; }

.eyebrow { margin: 0 0 17px; font: 600 .69rem/1.2 var(--display); letter-spacing: .13em; text-transform: uppercase; color: var(--orange-deep); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; letter-spacing: -.055em; line-height: .99; }
em { font-family: var(--serif); font-weight: 400; letter-spacing: -.03em; }

.hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); gap: clamp(30px, 6vw, 96px); align-items: center; padding-block: clamp(76px, 10vw, 132px) clamp(80px, 9vw, 125px); }
.hero__copy { max-width: 720px; }
.hero h1 { margin-bottom: 30px; font-size: clamp(4.7rem, 7.05vw, 6.25rem); }
.hero-line { display: block; }
.hero h1 em { color: var(--orange); }
.hero__intro { max-width: 600px; margin-bottom: 32px; font-size: clamp(1.1rem, 1.45vw, 1.28rem); line-height: 1.55; }
.hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; gap: 14px; padding: 0 18px; font: 600 .86rem var(--display); letter-spacing: -.02em; }
.button--solid { background: var(--forest); color: var(--white); transition: background-color .2s ease, transform .2s ease; }
.button--solid:hover { background: var(--orange-deep); transform: translateY(-2px); }
.button svg { width: 16px; }
.text-link, .case-button { display: inline-flex; align-items: center; gap: 8px; padding: 5px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; font: 600 .82rem var(--display); letter-spacing: -.02em; white-space: nowrap; }
.text-link svg, .case-button svg, .case-links svg, .site-footer svg { width: 16px; height: 16px; flex: 0 0 16px; }
.text-link:hover, .case-button:hover { color: var(--orange-deep); }
.hero__base { margin: clamp(56px, 7vw, 96px) 0 0; font-size: .77rem; letter-spacing: .04em; color: var(--muted); }
.hero__base span { display: inline-block; padding-inline: 7px; color: var(--orange); }

.hero__map { position: relative; min-height: 530px; padding-top: 20px; color: var(--forest); perspective: 1000px; }
.map-label { position: absolute; top: 1px; left: 0; z-index: 1; margin: 0; padding-left: 12px; border-left: 2px solid var(--orange); font: .68rem var(--display); letter-spacing: .1em; text-transform: uppercase; }
.signal-map-wrap { will-change: transform; transition: transform .35s ease-out; }
.signal-map { width: 100%; height: auto; overflow: visible; }
.map-contours { opacity: .42; stroke-width: 1.15; }
.map-sectors { fill: var(--sage); opacity: .8; }
.radar-sweep { color: var(--orange); transform-box: view-box; transform-origin: 319px 315px; }
.radar-sweep path:first-child { fill: currentColor; opacity: .14; }
.map-sector-orbit { transform-box: view-box; transform-origin: 319px 315px; }
.map-node-rings { color: var(--orange); opacity: 0; }
.map-points { color: var(--forest); }
.map-accent { color: var(--orange); }
.map-center { fill: var(--forest); font: 600 24px var(--display); letter-spacing: 2px; }
.map-subtitle { fill: var(--muted); font: 14px var(--body); letter-spacing: 1px; }
.map-tiny { fill: var(--muted); font: 10px var(--display); letter-spacing: 1.3px; }
.map-controls { position: absolute; right: 0; bottom: 52px; display: grid; width: min(220px, 42%); border-top: 1px solid var(--forest); }
.map-control { display: flex; justify-content: space-between; gap: 8px; padding: 10px 2px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; font: 600 .78rem var(--display); color: var(--muted); transition: color .18s ease, padding-left .18s ease; }
.map-control span { color: var(--orange-deep); font-size: .64rem; }
.map-control.is-active, .map-control:hover { padding-left: 9px; color: var(--forest); }
.map-caption { position: absolute; right: 0; bottom: 0; width: min(250px, 52%); margin: 0; font-size: .75rem; line-height: 1.45; color: var(--muted); }
.motion-toggle { position: absolute; bottom: 0; left: 0; display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0; border: 0; border-bottom: 1px solid var(--forest); background: transparent; color: var(--forest); font: 600 .65rem var(--display); letter-spacing: .07em; text-transform: uppercase; }
.motion-toggle__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent); }
.motion-toggle[aria-pressed="false"] .motion-toggle__dot { background: var(--muted); box-shadow: none; }

.proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.proof-strip article { min-height: 123px; padding: 25px 26px 23px 0; }
.proof-strip article + article { padding-left: 27px; border-left: 1px solid var(--line); }
.proof-strip p { margin-bottom: 7px; font: 600 1.06rem var(--display); letter-spacing: -.04em; }
.proof-strip span { display: block; max-width: 200px; font-size: .78rem; color: var(--muted); }

.work-section { padding-block: clamp(92px, 12vw, 172px); }
.section-heading { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(260px, .56fr); column-gap: 8vw; align-items: end; margin-bottom: 48px; }
.section-heading .eyebrow { grid-column: 1 / -1; }
.section-heading h2 { margin: 0; font-size: clamp(3.6rem, 5.4vw, 5.25rem); }
.section-heading h2 em { color: var(--orange); }
.section-heading > p:last-child { max-width: 390px; margin: 0 0 7px; color: var(--muted); font-size: .96rem; line-height: 1.6; }
.work-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.work-filters button { display: inline-flex; gap: 8px; align-items: center; min-height: 38px; padding: 0 13px; border: 1px solid var(--line); background: transparent; color: var(--muted); font: 600 .72rem var(--display); transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.work-filters button span { font-size: .62rem; opacity: .75; }
.work-filters button:hover, .work-filters button.is-active { border-color: var(--forest); background: var(--forest); color: var(--white); }
.work-list { position: relative; }
.filter-empty { padding: 30px 0; color: var(--muted); }
.motion-enabled [data-category] { will-change: opacity, transform; transition: opacity .34s ease, transform .34s cubic-bezier(.2, .75, .3, 1); }
.motion-enabled .work-list [data-category].is-filter-enter { opacity: 0; transform: translateY(22px) scale(.985); }
.motion-enabled .work-list [data-category].is-filter-exit { opacity: 0; transform: translateY(-12px) scale(.985); pointer-events: none; }

.featured-project { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(280px, .86fr); min-height: 535px; background: var(--forest); color: var(--white); }
.featured-project__media { position: relative; min-height: 375px; overflow: hidden; background: #1a241e; }
.featured-project__media::after { position: absolute; inset: 0; content: ""; background: rgba(18, 34, 25, .22); pointer-events: none; }
.featured-project__media img { width: 100%; height: 100%; object-fit: cover; opacity: .94; }
.branch-list { position: absolute; z-index: 1; left: 25px; bottom: 25px; display: grid; gap: 5px; padding: 14px 16px; border-left: 2px solid var(--orange); background: rgba(32, 45, 38, .87); font: .71rem var(--display); letter-spacing: .035em; }
.branch-list span::before { content: "↳"; margin-right: 8px; color: var(--ochre); }
.media-corner { position: absolute; z-index: 1; top: 18px; right: 18px; padding: 6px 8px; background: var(--paper); color: var(--forest); font: 600 .61rem var(--display); letter-spacing: .1em; text-transform: uppercase; }
.featured-project__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(35px, 5vw, 68px); }
.featured-project .project-kicker { color: var(--ochre); }
.featured-project h3 { margin-bottom: 20px; font-size: clamp(2.2rem, 3.2vw, 3.5rem); }
.featured-project__body > p:not(.project-kicker):not(.stack-line) { max-width: 380px; margin-bottom: 23px; color: #d9ded4; font-size: .97rem; line-height: 1.6; }
.stack-line { margin: 0 0 27px; font-size: .72rem; letter-spacing: .035em; color: inherit; opacity: .72; }
.project-kicker { margin-bottom: 13px; font: 600 .66rem var(--display); letter-spacing: .13em; text-transform: uppercase; color: var(--orange-deep); }
.project-actions { display: flex; flex-wrap: wrap; gap: 19px; align-items: center; }
.featured-project .case-button { color: var(--white); }
.featured-project .case-button:hover { color: var(--ochre); }
.featured-project .text-link { color: var(--ochre); }
.ecosystem-proof { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: clamp(24px, 4vw, 44px); border-top: 1px solid #526055; }
.ecosystem-proof__heading { grid-column: 1 / -1; }
.ecosystem-proof__heading h4 { margin: 0 0 8px; font: 600 1.1rem var(--display); }
.ecosystem-proof__heading p { margin: 0; color: #c4cfc6; font-size: .8rem; line-height: 1.5; }
.ecosystem-proof figure { min-width: 0; margin: 0; }
.capture-link { display: block; height: 235px; overflow: hidden; background: #101712; border: 1px solid #526055; }
.capture-link:hover, .capture-link:focus-visible { outline: 2px solid var(--ochre); outline-offset: 3px; }
.capture-link img { width: 100%; height: 100%; object-fit: contain; }
.ecosystem-proof figcaption { display: grid; gap: 5px; margin-top: 14px; font: .8rem var(--display); }
.ecosystem-proof figcaption span { font-weight: 600; }
.ecosystem-proof figcaption a { width: fit-content; color: var(--ochre); text-underline-offset: 4px; text-decoration: underline; overflow-wrap: anywhere; }

.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px) clamp(20px, 3.8vw, 58px); margin-top: clamp(28px, 4vw, 62px); }
.project-card { min-width: 0; }
.project-card--tier, .project-card--mml { padding-top: 0; }
.project-card--wide { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(26px, 5vw, 80px); align-items: center; }
.project-card--wide .project-visual { min-height: 380px; }
.project-card--wide .project-card__body { padding-top: 0; }
.project-card--mr { padding-top: 0; }
.project-visual { position: relative; min-height: 310px; overflow: hidden; }
.project-card__body { padding-top: 24px; }
.project-card h3 { margin-bottom: 11px; font-size: clamp(1.85rem, 2.5vw, 2.7rem); }
.project-card__body > p:not(.project-kicker):not(.stack-line) { max-width: 390px; margin-bottom: 17px; color: var(--muted); line-height: 1.55; }
.project-card .stack-line { margin-bottom: 20px; color: var(--muted); }
.project-ownership { padding-left: 12px; border-left: 2px solid var(--orange); font-size: .83rem; }

.pipeline-visual { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 4vw, 48px); background: #d7c891; color: var(--forest); }
.pipeline-visual p { margin-bottom: 34px; font: 600 .65rem var(--display); letter-spacing: .13em; text-transform: uppercase; }
.pipeline-visual ol { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.pipeline-visual li { position: relative; padding: 9px 8px 31px 0; border-top: 1px solid currentColor; font: 600 clamp(.63rem, 1.25vw, .85rem) var(--display); }
.pipeline-visual li:not(:last-child)::after { position: absolute; top: -4px; right: 0; width: 7px; height: 7px; content: ""; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.pipeline-visual li::before { position: absolute; bottom: 9px; left: 0; width: 10px; height: 10px; content: ""; border-radius: 50%; background: var(--orange); }
.motion-enabled .pipeline-visual.is-in-view li::before { animation: pipeline-pulse 2.7s ease-in-out infinite; }
.motion-enabled .pipeline-visual.is-in-view li:nth-child(2)::before { animation-delay: .18s; }
.motion-enabled .pipeline-visual.is-in-view li:nth-child(3)::before { animation-delay: .36s; }
.motion-enabled .pipeline-visual.is-in-view li:nth-child(4)::before { animation-delay: .54s; }
.motion-enabled .pipeline-visual.is-in-view li:nth-child(5)::before { animation-delay: .72s; }
.pipeline-note { align-self: flex-end; margin-top: 26px; font: .62rem var(--display); letter-spacing: .08em; }

.kpi-visual { display: flex; flex-direction: column; justify-content: center; min-height: 310px; padding: clamp(24px, 4vw, 48px); background: #e3e7df; border: 1px solid var(--forest); color: var(--forest); }
.kpi-visual__head { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; margin-bottom: 13px; font: 600 .68rem var(--display); letter-spacing: .07em; text-transform: uppercase; }
.kpi-visual__head small { color: var(--muted); font: 400 .57rem var(--display); letter-spacing: .08em; }
.kpi-pipeline { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-block: 20px 30px; }
.kpi-pipeline span { display: grid; width: clamp(48px, 8.5vw, 104px); aspect-ratio: 1; place-content: center; padding: 5px; border: 1px solid var(--forest); background: var(--paper); overflow-wrap: anywhere; text-align: center; font: 600 clamp(.66rem, 1vw, .86rem)/1.15 var(--display); }
.kpi-pipeline span:nth-of-type(2) { background: var(--sage); }
.kpi-pipeline span:nth-of-type(3) { background: var(--forest); color: var(--white); }
.kpi-pipeline span:nth-of-type(4) { background: var(--orange); color: var(--white); }
.kpi-pipeline i { color: var(--orange-deep); font: 1.25rem var(--display); font-style: normal; }
.kpi-domains, .kpi-tools { display: flex; flex-wrap: wrap; gap: 7px 17px; font: 600 .62rem var(--display); letter-spacing: .1em; text-transform: uppercase; }
.kpi-domains { padding-top: 12px; border-top: 1px solid color-mix(in srgb, var(--forest) 26%, transparent); }
.kpi-domains span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--forest); }
.kpi-domains span:nth-child(2)::before { background: var(--orange); }
.kpi-domains span:nth-child(3)::before { background: #78906e; }
.kpi-tools { margin-top: 12px; color: var(--muted); font-weight: 400; letter-spacing: .06em; }

.screenshot-visual { background: var(--sage); }
.screenshot-visual img { width: 100%; height: 100%; min-height: 310px; object-fit: cover; object-position: top center; mix-blend-mode: multiply; }
.screenshot-visual span { position: absolute; right: 0; bottom: 0; padding: 10px 13px; background: var(--forest); color: var(--white); font: .63rem var(--display); letter-spacing: .07em; text-transform: uppercase; }
.warehouse-visual { display: flex; flex-direction: column; justify-content: center; padding: clamp(25px, 4vw, 47px); background: #d8ddd0; border-top: 1px solid var(--forest); border-bottom: 1px solid var(--forest); }
.warehouse-visual > p { margin-bottom: 30px; font: 600 .65rem var(--display); letter-spacing: .13em; text-transform: uppercase; color: var(--forest); }
.warehouse-flow { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.warehouse-flow strong { display: grid; width: clamp(70px, 9vw, 112px); aspect-ratio: 1; place-content: center; border: 1px solid var(--forest); background: var(--paper); text-align: center; font: 600 clamp(.72rem, 1.25vw, .95rem) var(--display); }
.warehouse-flow span { color: var(--orange-deep); font-size: 1.5rem; }
.warehouse-ledger { display: flex; flex-wrap: wrap; gap: 6px 15px; margin-top: 31px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font: .66rem var(--display); letter-spacing: .08em; text-transform: uppercase; }
.warehouse-ledger span::before { content: "•"; margin-right: 5px; color: var(--orange); }

.mml-visual { display: flex; align-items: center; justify-content: center; gap: clamp(11px, 2.5vw, 30px); padding: 28px; background: #e6e4d7; border: 1px solid var(--line); }
.mml-source, .mml-target { display: grid; place-content: center; width: clamp(75px, 11vw, 134px); aspect-ratio: 1; border: 1px solid var(--forest); text-align: center; }
.mml-source { background: var(--forest); color: var(--white); }
.mml-source span, .mml-source i { font: .56rem var(--display); letter-spacing: .08em; text-transform: uppercase; font-style: normal; opacity: .7; }
.mml-source strong { font: 600 clamp(1rem, 2vw, 1.4rem) var(--display); }
.mml-target { background: var(--orange); color: var(--white); font: 600 clamp(1rem, 2vw, 1.4rem) var(--display); }
.mml-target small { font: .59rem var(--display); letter-spacing: .08em; text-transform: uppercase; }
.data-arrow { color: var(--orange-deep); font-size: clamp(1.2rem, 2.5vw, 2rem); }
.mml-table { display: grid; grid-template-columns: repeat(2, 1fr); width: clamp(70px, 11vw, 126px); border-top: 1px solid var(--forest); border-left: 1px solid var(--forest); }
.mml-table b { padding: 8px 5px; border-right: 1px solid var(--forest); border-bottom: 1px solid var(--forest); font: 400 clamp(.56rem, 1vw, .68rem) var(--display); text-align: center; }

.mr-visual { min-height: 310px; background: #e2e6dc; border: 1px solid var(--forest); }
.mr-visual svg { width: 100%; height: 100%; min-height: 310px; }
.mr-visual > svg > path { fill: none; stroke: var(--forest); stroke-width: 1.4; }
.mr-visual .map-lines path { fill: none; stroke: var(--forest); stroke-width: .8; opacity: .42; }
.mr-visual .cluster circle { fill: var(--orange); }
.mr-visual .cluster--two circle { fill: var(--forest); }
.mr-visual span { position: absolute; left: 18px; bottom: 17px; padding: 6px 8px; background: var(--paper); color: var(--forest); font: .61rem var(--display); letter-spacing: .09em; text-transform: uppercase; }

.about-section { background: var(--forest); color: var(--white); }
.about-section__inner { display: grid; grid-template-columns: minmax(280px, .93fr) minmax(400px, 1.07fr); gap: clamp(46px, 10vw, 172px); padding-block: clamp(82px, 11vw, 154px); }
.about-copy .eyebrow { color: var(--ochre); }
.about-copy h2 { margin-bottom: 32px; font-size: clamp(3.1rem, 5.1vw, 5.1rem); }
.about-copy h2 em { color: var(--ochre); }
.about-copy > p:not(.eyebrow) { max-width: 535px; margin-bottom: 17px; color: #d9ded4; font-size: 1rem; line-height: 1.65; }
.capability-list { align-self: end; border-top: 1px solid #7d8a80; }
.capability-list article { display: grid; grid-template-columns: minmax(155px, .65fr) 1fr; gap: 25px; padding: 21px 0; border-bottom: 1px solid #7d8a80; }
.capability-list h3 { margin: 0; font-size: 1.2rem; }
.capability-list p { margin: 0; color: #c5cec4; font-size: .85rem; line-height: 1.5; }

.experience-section { padding-block: clamp(92px, 12vw, 165px); }
.section-heading--compact { max-width: 840px; grid-template-columns: 1fr; }
.section-heading--compact h2 { margin-bottom: 0; }
.timeline { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.timeline li { display: grid; grid-template-columns: minmax(150px, .43fr) 1fr; gap: 40px; padding: 23px 0 25px; border-bottom: 1px solid var(--line); }
.timeline time { padding-top: 3px; color: var(--orange-deep); font: 600 .68rem var(--display); letter-spacing: .09em; text-transform: uppercase; }
.timeline h3 { margin-bottom: 7px; font-size: clamp(1.25rem, 2vw, 1.7rem); }
.timeline p { margin: 0; color: var(--muted); font-size: .88rem; }
.training { margin: 25px 0 0; color: var(--muted); font-size: .75rem; }
.training span { padding-inline: 6px; color: var(--orange); }

.contact-section { background: var(--orange); color: var(--white); }
.contact-section__inner { padding-block: clamp(74px, 10vw, 140px); }
.contact-section .eyebrow { color: #171b15; }
.contact-section h2 { max-width: 950px; margin-bottom: 42px; font-size: clamp(3.1rem, 5.9vw, 6rem); }
.contact-section h2 em { color: var(--forest); }
.contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.contact-email { display: inline-flex; align-items: center; gap: 16px; padding-bottom: 7px; border-bottom: 2px solid currentColor; color: #171b15; font: 600 clamp(1.12rem, 2.2vw, 1.65rem) var(--display); letter-spacing: -.04em; }
.contact-email svg { width: 18px; }
.copy-email { min-height: 42px; padding: 0 13px; border: 1px solid var(--forest); background: transparent; color: var(--forest); font: 600 .72rem var(--display); letter-spacing: .02em; transition: color .2s ease, background-color .2s ease; }
.copy-email:hover { background: var(--forest); color: var(--white); }
.contact-meta { display: flex; flex-wrap: wrap; gap: 7px 25px; margin-top: 65px; color: #171b15; font: 600 .75rem var(--display); }
.contact-meta a, .site-footer a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; white-space: nowrap; }
.contact-meta a { border-bottom: 1px solid transparent; }
.contact-meta a svg, .site-footer a svg { width: 16px; height: 16px; flex: 0 0 16px; }
.contact-meta a:hover { border-color: currentColor; }
.contact-meta span { opacity: .8; }

.site-footer { display: flex; justify-content: space-between; gap: 20px; padding-block: 21px; font: .69rem var(--display); letter-spacing: .04em; color: var(--muted); }
.site-footer a { color: var(--ink); }
.site-footer a:hover { color: var(--orange-deep); }

.case-dialog { width: min(790px, calc(100% - 30px)); max-height: min(760px, calc(100dvh - 30px)); padding: 0; border: 0; background: transparent; color: var(--ink); }
.case-dialog::backdrop { background: rgba(22, 30, 25, .74); backdrop-filter: blur(4px); }
.case-dialog__inner { position: relative; padding: clamp(32px, 6vw, 62px); background: var(--paper); border-top: 8px solid var(--orange); }
.dialog-close { position: absolute; top: 16px; right: 16px; display: grid; width: 44px; height: 44px; place-content: center; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: 1.8rem; line-height: 1; transition: background-color .2s ease, color .2s ease; }
.dialog-close:hover { background: var(--forest); color: var(--white); }
.case-dialog h2 { max-width: 560px; margin-bottom: 17px; padding-right: 38px; font-size: clamp(2.3rem, 5vw, 3.8rem); }
.case-intro { max-width: 610px; margin-bottom: 36px; color: var(--muted); font-size: 1.05rem; line-height: 1.6; }
.case-stack { margin: -19px 0 29px; color: var(--orange-deep); font: 600 .68rem var(--display); letter-spacing: .08em; text-transform: uppercase; }
.case-dialog__grid { display: grid; gap: 25px; padding-top: 26px; border-top: 1px solid var(--line); }
.case-dialog__grid section { display: grid; grid-template-columns: minmax(145px, .43fr) 1fr; gap: 22px; }
.case-dialog__grid h3 { margin: 0; font-size: 1rem; }
.case-dialog__grid p { margin: 0; color: var(--muted); font-size: .91rem; line-height: 1.6; }
.case-links { display: flex; flex-wrap: wrap; gap: 15px 24px; margin-top: 34px; }
.case-links a { display: inline-flex; gap: 8px; padding-bottom: 3px; border-bottom: 1px solid currentColor; color: var(--orange-deep); font: 600 .78rem var(--display); }

@media (max-width: 860px) {
  .hero { grid-template-columns: 1fr; gap: 42px; }
  .hero__map { min-height: 470px; max-width: 690px; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .featured-project { grid-template-columns: 1fr; }
  .featured-project__media { min-height: 340px; max-height: 520px; }
  .featured-project__body { min-height: 385px; }
  .project-card--wide, .project-card--mr { grid-template-columns: 1fr; gap: 0; }
  .about-section__inner { grid-template-columns: 1fr; }
  .about-copy { max-width: 690px; }
}

@media (max-width: 640px) {
  .site-header__inner { min-height: 66px; }
  .brand small { display: none; }
  .js .nav-toggle { display: block; }
  .js .site-nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: none; align-items: stretch; gap: 0; padding: 8px var(--gutter) 16px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .js .site-nav.is-open { display: grid; }
  .js .site-nav > a:not(.nav-contact) { min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid var(--line); }
  .js .nav-contact { justify-content: space-between; margin-top: 13px; }
  .js .nav-toggle[aria-expanded="true"] span:not(.sr-only):first-of-type { transform: translateY(2.5px) rotate(45deg); }
  .js .nav-toggle[aria-expanded="true"] span:not(.sr-only):last-of-type { transform: translateY(-2.5px) rotate(-45deg); }
  .hero { padding-top: 61px; }
  .hero h1 { font-size: clamp(3.95rem, 17.4vw, 5.1rem); }
  .hero__intro { font-size: 1.04rem; }
  .hero__base { margin-top: 54px; font-size: .68rem; }
  .hero__map { min-height: 389px; margin-inline: -8px; }
  .map-label { top: 0; }
  .map-controls { bottom: 39px; width: 49%; }
  .map-caption { width: 52%; font-size: .68rem; }
  .motion-toggle { min-height: 30px; font-size: .58rem; }
  .proof-strip { grid-template-columns: 1fr; }
  .proof-strip article { min-height: auto; padding: 17px 0; }
  .proof-strip article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .proof-strip p { margin-bottom: 2px; }
  .proof-strip span { max-width: none; }
  .work-filters { gap: 6px; }
  .work-filters button { min-height: 42px; padding-inline: 10px; }
  .featured-project__media { min-height: 280px; }
  .featured-project__body { min-height: 0; padding: 34px 25px 39px; }
  .featured-project h3 { font-size: 2.26rem; }
  .ecosystem-proof { grid-template-columns: 1fr; gap: 28px; }
  .capture-link { height: auto; min-height: 160px; }
  .capture-link img { height: auto; max-height: 380px; }
  .project-grid { grid-template-columns: 1fr; gap: 44px; }
  .project-card--tier, .project-card--mml { padding-top: 0; }
  .project-visual, .screenshot-visual img { min-height: 265px; }
  .mr-visual, .mr-visual svg { min-height: 250px; }
  .kpi-pipeline { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); grid-template-rows: auto 18px auto; gap: 7px 5px; }
  .kpi-pipeline span { width: auto; min-height: 66px; aspect-ratio: auto; overflow-wrap: normal; }
  .kpi-pipeline > i { justify-self: center; line-height: 1; }
  .kpi-pipeline > span:nth-child(1) { grid-column: 1; grid-row: 1; }
  .kpi-pipeline > i:nth-child(2) { grid-column: 2; grid-row: 1; }
  .kpi-pipeline > span:nth-child(3) { grid-column: 3; grid-row: 1; }
  .kpi-pipeline > i:nth-child(4) { grid-column: 3; grid-row: 2; transform: rotate(90deg); }
  .kpi-pipeline > span:nth-child(5) { grid-column: 3; grid-row: 3; }
  .kpi-pipeline > i:nth-child(6) { grid-column: 2; grid-row: 3; transform: rotate(180deg); }
  .kpi-pipeline > span:nth-child(7) { grid-column: 1; grid-row: 3; }
  .about-section__inner { padding-block: 76px; }
  .capability-list article { grid-template-columns: 1fr; gap: 10px; }
  .timeline li { grid-template-columns: 1fr; gap: 7px; padding: 18px 0 21px; }
  .training { line-height: 1.7; }
  .contact-section h2 { font-size: clamp(3rem, 14vw, 4.15rem); }
  .contact-email { font-size: 1.05rem; }
  .contact-meta { margin-top: 44px; }
  .site-footer { flex-wrap: wrap; }
  .case-dialog__grid section { grid-template-columns: 1fr; gap: 8px; }
}

@keyframes radar-sweep { to { transform: rotate(360deg); } }
@keyframes sector-drift { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(4deg); } }
@keyframes node-pulse { 0%, 100% { opacity: 0; transform: scale(.55); } 32% { opacity: .8; transform: scale(1.15); } 65% { opacity: 0; transform: scale(1.55); } }
@keyframes orbital-trace { to { stroke-dashoffset: -96; } }
@keyframes pipeline-pulse { 0%, 12%, 100% { transform: scale(1); box-shadow: 0 0 0 0 color-mix(in srgb, var(--orange) 38%, transparent); } 30% { transform: scale(1.55); box-shadow: 0 0 0 8px transparent; } }
@keyframes dialog-in { from { opacity: 0; transform: translateY(18px) scale(.975); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes dialog-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes dialog-child-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

.motion-enabled .hero-line, .motion-enabled .hero-stage, .motion-enabled .hero__map { opacity: 0; transform: translateY(18px); }
.motion-enabled.motion-entrance .hero-line, .motion-enabled.motion-entrance .hero-stage, .motion-enabled.motion-entrance .hero__map { opacity: 1; transform: translateY(0); transition: opacity .62s ease, transform .72s cubic-bezier(.2, .75, .3, 1); }
.motion-enabled.motion-entrance .hero-line:nth-child(1) { transition-delay: 40ms; }
.motion-enabled.motion-entrance .hero-line:nth-child(2) { transition-delay: 145ms; }
.motion-enabled.motion-entrance .hero__intro { transition-delay: 300ms; }
.motion-enabled.motion-entrance .hero__actions { transition-delay: 405ms; }
.motion-enabled.motion-entrance .hero__base { transition-delay: 510ms; }
.motion-enabled.motion-entrance .hero__map { transition-delay: 160ms; }
.motion-enabled .radar-sweep { animation: radar-sweep 9s linear infinite; }
.motion-enabled .map-sector-orbit { animation: sector-drift 12s ease-in-out infinite; }
.motion-enabled .map-node-rings circle { transform-box: fill-box; transform-origin: center; animation: node-pulse 3.2s ease-out infinite; }
.motion-enabled .map-node-rings circle:nth-child(2) { animation-delay: .8s; }
.motion-enabled .map-node-rings circle:nth-child(3) { animation-delay: 1.6s; }
.motion-enabled .map-node-rings circle:nth-child(4) { animation-delay: 2.4s; }
.motion-enabled .map-contours path:nth-child(-n+2) { stroke-dasharray: 9 7; animation: orbital-trace 8s linear infinite; }
.motion-continuous-paused .radar-sweep, .motion-continuous-paused .map-sector-orbit, .motion-continuous-paused .map-node-rings circle, .motion-continuous-paused .map-contours path, .motion-continuous-paused .pipeline-visual li::before, .hero-motion-paused .radar-sweep, .hero-motion-paused .map-sector-orbit, .hero-motion-paused .map-node-rings circle, .hero-motion-paused .map-contours path { animation-play-state: paused !important; }
.motion-enabled .reveal { opacity: 0; transform: translateY(18px); transition: opacity .58s ease, transform .65s cubic-bezier(.2, .75, .3, 1); transition-delay: var(--reveal-delay, 0ms); }
.motion-enabled .reveal.is-visible { opacity: 1; transform: translateY(0); }
.motion-enabled .case-dialog[open]::backdrop { animation: dialog-backdrop-in .24s ease both; }
.motion-enabled .case-dialog[open] .case-dialog__inner { animation: dialog-in .38s cubic-bezier(.2, .75, .3, 1) both; }
.motion-enabled .case-dialog[open] .case-dialog__inner > :not(.dialog-close) { animation: dialog-child-in .4s ease both; }
.motion-enabled .case-dialog[open] .case-dialog__inner > :nth-child(2) { animation-delay: .06s; }
.motion-enabled .case-dialog[open] .case-dialog__inner > :nth-child(3) { animation-delay: .11s; }
.motion-enabled .case-dialog[open] .case-dialog__inner > :nth-child(4) { animation-delay: .16s; }
.motion-enabled .case-dialog[open] .case-dialog__inner > :nth-child(5) { animation-delay: .2s; }
.motion-enabled .case-dialog[open] .case-dialog__inner > :nth-child(6) { animation-delay: .24s; }
.motion-enabled .case-dialog[open] .case-dialog__inner > :nth-child(7) { animation-delay: .28s; }

@media (hover: hover) and (pointer: fine) {
  .motion-enabled .featured-project__media img, .motion-enabled .screenshot-visual img { transition: transform .65s cubic-bezier(.2, .75, .3, 1); }
  .motion-enabled .featured-project:hover .featured-project__media img, .motion-enabled .project-card:hover .screenshot-visual img { transform: scale(1.045); }
}

@media (prefers-reduced-motion: reduce) {
  html:not(.motion-enabled) { scroll-behavior: auto; }
  html:not(.motion-enabled) *, html:not(.motion-enabled) *::before, html:not(.motion-enabled) *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
