  :root { --hdr: 96px; --ink: #000; --line: rgba(255,255,255,.14); --soft: rgba(255,255,255,.72); }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr) + 16px); }
  .skip { position: absolute; left: 16px; top: -100px; z-index: 100; background: var(--ma-black); color: #fff; padding: 12px 18px; font: 600 14px var(--font-title); text-decoration: none; }
  .skip:focus { top: 12px; }
  body { margin: 0; background: var(--ma-white); color: var(--fg1); overflow-x: hidden; }
  a { color: inherit; }
  img { display: block; max-width: 100%; }
  .wrap { width: min(1280px, 100% - 64px); margin: 0 auto; }
  .t { font-family: var(--font-title); font-weight: 600; color: var(--fg1); letter-spacing: -0.02em; }
  .eyebrow { font: 700 12px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--ma-grey-mid); display: flex; align-items: center; gap: 10px; margin: 0 0 20px; }
  .eyebrow::before { content: ""; width: 28px; height: var(--rule-thick); background: var(--ma-green); }
  .h2 { font: 600 clamp(30px, 3.4vw, 50px)/1.06 var(--font-title); letter-spacing: -0.02em; margin: 0; color: var(--fg1); text-wrap: balance; }
  .linkline { font: 600 15px/1 var(--font-title); text-decoration: none; padding-bottom: 8px; border-bottom: 1.5px solid currentColor; display: inline-flex; gap: 10px; transition: gap .2s ease-out, color .2s; }
  .linkline:hover { gap: 18px; color: var(--ma-green-dark); }
  .btn { display: inline-flex; align-items: center; gap: 12px; background: var(--ma-green); color: #000; text-decoration: none; font: 600 15px var(--font-title); padding: 14px 24px; border-radius: var(--radius-pill); transition: background .15s; border: 0; cursor: pointer; }
  .btn:hover { background: var(--ma-green-light); }
  .btn.ghost { background: transparent; color: var(--fg1); box-shadow: inset 0 0 0 1.5px var(--fg1); }
  .btn.ghost:hover { box-shadow: inset 0 0 0 1.5px var(--ma-green-dark); color: var(--ma-green-dark); }
  .round { all: unset; cursor: pointer; width: 46px; height: 46px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px currentColor; display: grid; place-items: center; font: 600 18px var(--font-title); flex: none; transition: box-shadow .15s, color .15s; }
  .round:hover { color: var(--ma-green); }
  .round[disabled] { opacity: .3; cursor: default; }
  :focus-visible { outline: 2px solid var(--ma-green); outline-offset: 2px; }
  .dark { background: var(--ink); color: #fff; }
  .dark .h2, .dark h3 { color: #fff; }
  .dark p { color: var(--soft); }
  .dark .eyebrow { color: rgba(255,255,255,.6); }
  header.site { position: sticky; top: 0; z-index: 50; background: var(--ma-white); transition: box-shadow .2s; }
  header.site.scrolled { box-shadow: 0 1px 0 var(--border-soft); }
  .hd { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--hdr); }
  .hd .logo { display: block; width: max-content; }
  .hd .logo img { height: calc(var(--hdr) - 12px); width: auto; }
  .menu-btn { background: none; border: 0; font: 600 15px var(--font-title); cursor: pointer; display: flex; align-items: center; gap: 10px; color: var(--fg1); padding: 10px; }
  .menu-btn i { width: 22px; height: 10px; position: relative; display: inline-block; }
  .menu-btn i::before, .menu-btn i::after { content: ""; position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor; }
  .menu-btn i::before { top: 0; } .menu-btn i::after { bottom: 0; }
  .hd .btn { justify-self: end; padding: 11px 20px; font-size: 14px; }
  .menu { position: fixed; inset: 0; z-index: 60; background: var(--ma-white); display: grid; grid-template-columns: 1.1fr 1fr; opacity: 0; pointer-events: none; transition: opacity .25s ease-out; }
  .menu.open { opacity: 1; pointer-events: auto; }
  .menu nav { padding: 112px 64px 48px; display: flex; flex-direction: column; justify-content: space-between; }
  .menu nav ol { list-style: none; margin: 0; padding: 0; counter-reset: m; }
  .menu nav li a { counter-increment: m; display: flex; align-items: baseline; gap: 20px; text-decoration: none; font: 600 clamp(32px, 4.6vw, 60px)/1.15 var(--font-title); letter-spacing: -0.02em; color: var(--ma-grey-wordmark); transition: color .15s, transform .2s; }
  .menu nav li a::before { content: "0" counter(m); font: 400 13px var(--font-body); color: var(--ma-grey-mid); }
  .menu nav li a:hover, .menu nav li a:focus-visible { color: var(--fg1); transform: translateX(8px); }
  .menu .menu-photo { position: relative; overflow: hidden; background: var(--ink); }
  .menu .mp { position: absolute; inset: 0; opacity: 0; transition: opacity .3s ease-out; background: center/cover no-repeat; }
  .menu .mp.on { opacity: 1; }
  .menu .mp.txt { display: flex; flex-direction: column; justify-content: flex-end; padding: 56px; color: #fff; }
  .menu .mp.txt b { display: block; font: 600 clamp(56px, 7vw, 112px)/.95 var(--font-title); letter-spacing: -0.04em; }
  .menu .mp.txt span { display: block; font: 600 18px var(--font-title); margin: 10px 0 28px; color: rgba(255,255,255,.8); }
  .menu .mp.svc { background: var(--ma-green); color: #000; }
  .menu .mp.svc ol { list-style: none; margin: 0; padding: 0; font: 600 clamp(20px, 2vw, 28px)/1.5 var(--font-title); }
  .menu .mp.ppl { --t: min(220px, 18vw, 30vh); display: grid; grid-template-columns: repeat(2, var(--t)); place-content: center; gap: 28px 24px; background: var(--ma-grey-bg); }
  .menu .mp.ppl figure { margin: 0; }
  .menu .mp.ppl img { width: var(--t); height: var(--t); object-fit: cover; }
  .menu .mp.ppl figcaption { font: 600 15px var(--font-title); color: var(--fg1); margin-top: 10px; }
  .menu .mp.ppl figcaption span { display: block; font: 12px var(--font-body); color: var(--fg2); margin-top: 2px; }
  .menu .mp .lab { position: absolute; left: 24px; bottom: 20px; font: 600 13px var(--font-title); letter-spacing: .06em; text-transform: uppercase; color: #fff; background: rgba(0,0,0,.4); padding: 8px 12px; }
  .menu .close { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); }
  .menu .meta { font: 14px/1.6 var(--font-body); color: var(--ma-grey-mid); }
  .hero { padding: 64px 0 0; }
  .hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
  .hero-grid > * { min-width: 0; }
  .hero h1 { font-size: clamp(36px, 3.8vw, 58px); line-height: 1.04; max-width: 17ch; margin: 0 0 28px; text-wrap: balance; }
  .hero h1 .soft { color: var(--ma-grey-wordmark); }
  .hero-row { display: flex; flex-direction: column; align-items: start; gap: 24px; }
  .hero-row p { max-width: 46ch; font-size: 17px; line-height: 1.5; color: var(--ma-grey-mid); margin: 0; }
  .model-cap { font-size: 13px; line-height: 1.45; color: var(--ma-grey-mid); margin: 12px 0 0; }
  .model-cap b { color: var(--fg1); font-weight: 700; }
  .stage-frame { margin-top: 48px; height: calc(100vh - var(--hdr) + 30vh); position: relative; }
  .stage-photo { position: sticky; top: var(--hdr); height: calc(100vh - var(--hdr)); overflow: hidden; clip-path: inset(var(--inset, 6%) var(--insetx, 16%) var(--inset, 6%) var(--insetx, 16%)); }
  .stage-photo .slide { position: absolute; inset: 0; background: center/cover no-repeat; opacity: 0; transform: scale(1.08); transition: opacity 1.4s ease, transform 8s linear; }
  .stage-photo .slide.on { opacity: 1; transform: scale(1); }
  .stage-photo .cap { position: absolute; left: calc(var(--insetx, 16%) + 24px); bottom: calc(var(--inset, 6%) + 20px); color: #fff; font: 600 13px var(--font-title); letter-spacing: .06em; text-transform: uppercase; background: rgba(0,0,0,.55); padding: 8px 12px; }
  .stage-photo .spause { all: unset; cursor: pointer; position: absolute; right: calc(var(--insetx, 16%) + 24px); bottom: calc(var(--inset, 6%) + 20px); color: #fff; font: 600 12px var(--font-title); background: rgba(0,0,0,.55); padding: 8px 14px; border-radius: var(--radius-pill); }
  .stage-photo .spause:focus-visible { outline: 2px solid var(--ma-green); outline-offset: 2px; }
  section { padding: 104px 0; }
  .head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 56px; flex-wrap: wrap; }
  .head > div { flex: 1 1 480px; max-width: 680px; min-width: 0; }
  .head > p { max-width: 46ch; margin: 0; font-size: 17px; line-height: 1.55; color: var(--fg2); }
  .dark .head > p { color: var(--soft); }
  .statement { padding: 72px 0 104px; }
  #statement { font: 600 clamp(26px, 3vw, 44px)/1.22 var(--font-title); letter-spacing: -0.015em; color: var(--fg1); margin: 0; max-width: 28ch; }
  #statement span { color: #757575; transition: color .25s ease-out; }
  .totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-bottom: 56px; }
  .totals div { border-top: 6px solid var(--ma-green); padding-top: 16px; min-width: 0; }
  .totals b { display: block; font: 600 clamp(52px, 6.4vw, 104px)/.95 var(--font-title); letter-spacing: -0.04em; color: #fff; }
  .totals b i { font-style: normal; }
  .totals span { display: block; font: 600 17px var(--font-title); color: #fff; margin-top: 12px; }
  .totals small { display: block; font-size: 13px; color: var(--soft); margin-top: 4px; }
  .chips { display: none; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
  .chips button { all: unset; cursor: pointer; padding: 9px 16px; border-radius: var(--radius-pill); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5); font: 600 14px var(--font-title); color: #fff; }
  .chips button[aria-pressed="true"] { background: var(--ma-green); color: #000; box-shadow: none; }
  .split { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
  .split .col { padding: 28px 28px 8px 0; min-width: 0; }
  .split .col + .col { padding-left: 28px; border-left: 1px solid var(--line); }
  .split h3 { font: 600 19px var(--font-title); margin: 0 0 20px; color: #fff; }
  .split .r { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin-bottom: 16px; }
  .split .lab { font: 600 14px/1.3 var(--font-title); color: #fff; }
  .split .lab small { display: block; font: 12px var(--font-body); color: rgba(255,255,255,.55); margin-top: 2px; }
  .split .n { font: 600 22px/1 var(--font-title); color: #fff; text-align: right; }
  .split .n small { display: block; font: 11px var(--font-body); color: rgba(255,255,255,.5); margin-top: 4px; letter-spacing: 0; }
  .split .bar { grid-column: 1 / -1; height: 6px; background: rgba(255,255,255,.12); }
  .split .bar i { display: block; height: 100%; width: 0; background: var(--ma-green); transition: width .9s ease-out; }
  .split.go .bar i { width: var(--w); }
  .note { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 24px; }
  .ongoing { display: grid; grid-template-columns: auto 1fr; gap: 12px 40px; align-items: center; background: var(--ma-green-pale); padding: 32px 36px; margin-bottom: 48px; }
  .ongoing > * { min-width: 0; }
  .ongoing b { font: 600 clamp(48px, 5vw, 72px)/1 var(--font-title); letter-spacing: -0.03em; color: var(--fg1); }
  .ongoing b small { display: block; font: 600 14px var(--font-title); letter-spacing: 0; margin-top: 6px; color: var(--fg2); }
  .ongoing h3 { font: 600 22px/1.2 var(--font-title); margin: 0 0 8px; color: var(--fg1); }
  .ongoing p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--fg2); max-width: 64ch; }
  .svc-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 32px; }
  .svc-list li { border-top: 1px solid var(--border-soft); padding: 18px 0 20px; min-width: 0; }
  .svc-list .n { font: 700 12px var(--font-body); color: #4A7418; letter-spacing: .1em; }
  .svc-list h3 { font: 600 18px/1.2 var(--font-title); margin: 6px 0 6px; color: var(--fg1); }
  .svc-list p { font-size: 14px; line-height: 1.5; margin: 0; color: var(--fg2); }
  .model { background: var(--ma-white); border: 1px solid var(--border-soft); box-shadow: var(--shadow-lg); }
  .model-hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--ma-green); padding: 10px 16px; font: 700 13px var(--font-body); color: var(--ma-black); }
  .model-hd span:last-child { font-weight: 400; }
  .model-body { display: grid; grid-template-columns: 1fr 1.25fr; }
  .model-body > * { min-width: 0; }
  .inputs { padding: 18px 18px 8px; background: var(--bg-alt); border-right: 1px solid var(--border-soft); }
  .inputs h2, .outputs h2 { font: 700 11px var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ma-grey-mid); margin: 0 0 12px; }
  .inp { margin-bottom: 16px; }
  .inp label { display: flex; justify-content: space-between; font: 12px var(--font-body); color: var(--fg2); margin-bottom: 6px; }
  .inp label output { font: 700 13px var(--font-body); color: #0000CC; background: #FFFFCC; padding: 1px 6px; }
  input[type=range] { width: 100%; accent-color: var(--ma-green-dark); }
  .outputs { padding: 18px; }
  .kpis { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 8px; margin-bottom: 14px; }
  .kpi { background: var(--bg-neutral); padding: 10px; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 2px; }
  .kpi small { display: block; font: 11px var(--font-body); color: var(--ma-grey-mid); }
  .kpi b { font: 600 var(--kpi-fs, 22px)/1.2 var(--font-title); color: var(--fg1); white-space: nowrap; overflow: hidden; }
  #chart { width: 100%; height: auto; display: block; }
  .model-ft { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 16px; border-top: 1px solid var(--border-soft); font: 11px var(--font-body); color: var(--ma-grey-mid); }
  .model-ft button { all: unset; cursor: pointer; font: 700 12px var(--font-body); color: var(--fg1); border-bottom: 1.5px solid var(--ma-green); white-space: nowrap; padding: 6px 0 3px; }
  .calc { max-height: 0; overflow: hidden; transition: max-height .4s ease-out; border-top: 0 solid var(--border-soft); }
  .calc.open { max-height: 320px; border-top-width: 1px; }
  .calc .scroll { overflow-x: auto; }
  .calc table { width: 100%; border-collapse: collapse; font: 11px var(--font-body); }
  .calc td, .calc th { padding: 4px 6px; text-align: right; white-space: nowrap; }
  .calc th { background: var(--ma-green-pale); font-weight: 700; }
  .calc td:first-child, .calc th:first-child { text-align: left; }
  .calc tr.tot td { font-weight: 700; border-top: 1px solid var(--fg1); }
  .calc tr:nth-child(even) td { background: var(--bg-alt); }
  .cyc { display: grid; grid-template-columns: 5fr 7fr; gap: 56px; align-items: start; }
  .cyc > * { min-width: 0; }
  .curve-panel { position: sticky; top: calc(var(--hdr) + 32px); }
  .lc-cap { font-size: 15px; line-height: 1.5; color: var(--soft); margin: 0 0 18px; max-width: 48ch; }
  .lc-cap b { color: #fff; font-weight: 700; }
  .lc { display: grid; grid-template-columns: 22px 1fr; grid-template-rows: auto auto; gap: 0 10px; }
  .lc-y { grid-row: 1; writing-mode: vertical-rl; transform: rotate(180deg); justify-self: center; align-self: stretch; text-align: center; font: 700 11px var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); border-right: 1px solid rgba(255,255,255,.35); padding-right: 4px; }
  .lc-area { grid-row: 1; position: relative; padding-top: 40px; }
  .lc-x { grid-column: 2; display: flex; justify-content: space-between; font: 700 11px var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); border-top: 1px solid rgba(255,255,255,.35); padding-top: 8px; }
  .bands { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
  .band { border-left: 1px dashed rgba(255,255,255,.24); padding: 12px 6px 0; text-align: center; }
  .band:first-child { border-left: 0; }
  .band span { font: 700 11px/1.25 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); transition: color .3s; }
  .band.on span { color: var(--ma-green); }
  .plot { position: relative; height: 230px; }
  .plot svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
  .node { all: unset; position: absolute; transform: translate(-50%, -50%); cursor: pointer; }
  .node .dot { width: 44px; height: 44px; border-radius: 50%; background: #000; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); display: grid; place-items: center; font: 600 14px var(--font-title); color: #fff; transition: transform .2s, background .2s, box-shadow .2s, color .2s; }
  .node:hover .dot { transform: scale(1.12); box-shadow: inset 0 0 0 2px var(--ma-green); }
  .node.past .dot { box-shadow: inset 0 0 0 2px var(--ma-green); }
  .node[aria-selected="true"] .dot { background: var(--ma-green); color: #000; box-shadow: 0 0 0 7px rgba(148,201,71,.28); transform: scale(1.12); }
  .node:focus-visible { outline: none; } .node:focus-visible .dot { outline: 2px solid var(--ma-green); outline-offset: 4px; }
  .stage-txt { margin-top: 32px; border-top: 1px solid var(--line); padding-top: 24px; min-height: 210px; }
  .stage-txt .sn { font: 600 13px var(--font-title); color: var(--ma-green); letter-spacing: .1em; }
  .stage-txt h3 { font: 600 clamp(34px, 3.6vw, 52px)/1 var(--font-title); letter-spacing: -0.03em; margin: 10px 0 8px; }
  .stage-txt .span { font: 600 15px var(--font-title); color: rgba(255,255,255,.8); }
  .stage-txt p { font-size: 16px; line-height: 1.5; margin: 12px 0 0; max-width: 40ch; }
  .cyc-ctl { display: flex; align-items: center; gap: 12px; margin-top: 28px; color: #fff; }
  .cyc-ctl .prog { flex: 1; height: 3px; background: rgba(255,255,255,.18); position: relative; overflow: hidden; }
  .cyc-ctl .prog i { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--ma-green); }
  .cyc-ctl .pause { all: unset; cursor: pointer; font: 600 12px var(--font-title); color: #fff; padding: 6px 12px; border-radius: var(--radius-pill); box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); white-space: nowrap; }
  .cyc-ctl .pause:hover { box-shadow: inset 0 0 0 1px var(--ma-green); }
  .track { display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
  .track::-webkit-scrollbar { display: none; }
  .track { --gut: max(32px, calc((100vw - 1280px) / 2)); margin-right: calc(-1 * var(--gut)); padding-right: var(--gut); }
  .case { scroll-snap-align: start; position: relative; height: 560px; color: #fff; overflow: hidden; background: #222; transition: opacity .4s; }
  .case:not(.on) { opacity: .55; }
  .case .bg { position: absolute; inset: 0; background: center/cover; transition: transform .8s ease-out; }
  .case.on .bg { transform: scale(1.03); }
  .case .shade { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
  .case .in { position: absolute; inset: 0; padding: 32px; display: flex; flex-direction: column; justify-content: space-between; }
  .case .tag { font: 700 12px var(--font-body); letter-spacing: .12em; text-transform: uppercase; display: flex; justify-content: space-between; gap: 12px; }
  .case .tag span:last-child { color: var(--ma-green); }
  .case .m { font: 600 clamp(52px, 5.4vw, 84px)/1 var(--font-title); letter-spacing: -0.03em; }
  .case .ml { font-size: 15px; margin-top: 8px; color: var(--ma-green-pale); max-width: 32ch; }
  .case h3 { font: 600 24px/1.15 var(--font-title); color: #fff; margin: 0 0 10px; }
  .case h3 span { display: block; font-size: 17px; color: var(--ma-green-pale); margin-top: 4px; }
  .case p { color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.5; margin: 0; max-width: 52ch; }
  .case .rule { width: 48px; height: var(--rule-thick); background: var(--ma-green); margin-bottom: 18px; }
  .case-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; font-size: 13px; color: rgba(255,255,255,.55); }
  .case-foot span:first-child { white-space: nowrap; }
  .case-foot .arrows { display: flex; gap: 8px; color: #fff; }
  .film-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 64px; align-items: center; }
  .film-grid > * { min-width: 0; }
  .film-frame { position: relative; aspect-ratio: 16/9; background: #111 center/cover; overflow: hidden; max-width: 100%; }
  .film-frame::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); }
  .film-frame.playing::before { display: none; }
  .film-frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
  .film-frame .play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
  #people { padding-top: 0; }
  #people > .wrap { border-top: 1px solid var(--border-soft); padding-top: 104px; }
  .principals { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
  .pcard { position: relative; aspect-ratio: 4/5; background: var(--ma-grey-bg); overflow: hidden; cursor: pointer; }
  .pcard img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .5s ease-out; }
  .pcard:hover img { transform: scale(1.03); }
  .pcard .over { position: absolute; inset: 0; background: rgba(0,0,0,.86); padding: 22px; display: flex; flex-direction: column; justify-content: flex-end; opacity: 0; transition: opacity .3s; }
  .pcard:hover .over, .pcard:focus-visible .over, .pcard.show .over { opacity: 1; }
  .pcard .over p { color: #fff; font-size: 14px; line-height: 1.5; margin: 0 0 12px; }
  .pcard .over small { color: rgba(255,255,255,.7); font: 12px/1.45 var(--font-body); }
  .pname { margin-top: 14px; }
  .pname h3 { font: 600 20px var(--font-title); margin: 0 0 2px; color: var(--fg1); display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
  .pname .li { font: 600 12px var(--font-title); color: var(--fg2); text-decoration: none; border-bottom: 1.5px solid var(--ma-green); padding: 6px 0 2px; white-space: nowrap; }
  .pname .li:hover, .pname .li:focus-visible { color: var(--fg1); border-bottom-color: var(--fg1); }
  .pname span { font-size: 13px; color: var(--fg2); }
  .pname b { color: var(--fg1); font: 600 13px var(--font-title); }
  .team-h { font: 600 22px var(--font-title); color: var(--fg1); margin: 64px 0 24px; }
  .team { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
  .team .pcard { aspect-ratio: 1; }
  .team .pname h3 { font-size: 17px; }
  .quote { display: grid; grid-template-columns: 110px 1fr; gap: 32px; min-height: 280px; }
  .quote .glyph { font: 600 160px/0.8 var(--font-title); color: var(--ma-green); }
  .quote blockquote { margin: 0; font: 600 clamp(24px, 2.6vw, 38px)/1.25 var(--font-title); letter-spacing: -0.01em; color: #fff; max-width: 34ch; }
  .quote blockquote mark { background: none; color: var(--ma-green); }
  .quote cite { display: block; margin-top: 28px; font: normal 700 15px var(--font-body); color: #fff; }
  .quote cite span { display: block; font-weight: 400; color: var(--soft); margin-top: 4px; }
  .qctl { display: flex; gap: 16px; align-items: center; margin-top: 40px; color: #fff; }
  .qctl .who { display: flex; flex-wrap: wrap; gap: 8px; }
  .qctl .who button { all: unset; cursor: pointer; font: 600 13px var(--font-title); color: rgba(255,255,255,.75); padding: 7px 14px; border-radius: var(--radius-pill); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
  .qctl .who button[aria-pressed="true"] { background: var(--ma-green); color: #000; box-shadow: none; }
  .contact { position: relative; padding: 0; min-height: 76vh; display: grid; align-items: center; overflow: hidden; }
  .contact .bg { position: absolute; inset: 0; background: 22% center/cover; }
  .contact .shade { position: absolute; inset: 0; background: rgba(255,255,255,.12); }
  .contact .in { position: relative; padding-block: 112px; display: grid; grid-template-columns: 1fr 1fr; }
  .contact .in > div { grid-column: 2; min-width: 0; }
  .contact .eyebrow { color: var(--fg1); }
  .contact h2 { font: 600 clamp(40px, 5.2vw, 84px)/1 var(--font-title); letter-spacing: -0.03em; margin: 0 0 36px; max-width: 12ch; color: var(--fg1); }
  .contact .row { display: flex; gap: 40px; flex-wrap: wrap; align-items: center; }
  .contact .row div { font: 600 19px var(--font-title); color: var(--fg1); }
  .contact .btn { background: #000; color: #fff; }
  .contact .btn:hover { background: #333; }
  .contact .row small { display: block; font: 700 11px var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--fg1); margin-bottom: 6px; }
  footer { border-top: 1px solid var(--border-soft); padding: 28px 0 40px; font-size: 12px; color: var(--ma-grey-mid); }
  footer .wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
  footer nav { display: flex; gap: 20px; } footer nav a { color: var(--ma-grey-mid); display: inline-block; padding: 5px 0; }
  .contact .row a.tel { text-decoration: none; display: inline-block; padding: 4px 0; }
  .reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease-out, transform .6s ease-out; }
  .reveal.in { opacity: 1; transform: none; }
  @media (max-width: 1100px) {
    .hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .svc-list { grid-template-columns: 1fr 1fr; }
    .cyc { grid-template-columns: 1fr; gap: 32px; } .curve-panel { position: static; }
    .stage-txt { min-height: 0; }
  }
  @media (max-width: 900px) {
    :root { --hdr: 80px; }
    .wrap { width: calc(100% - 32px); }
    .hd { grid-template-columns: 1fr auto; } .hd .btn { display: none; }
    .menu { grid-template-columns: 1fr; } .menu .menu-photo { display: none; } .menu nav { padding: 88px 24px 32px; }
    section { padding: 80px 0; } .statement { padding: 56px 0 80px; }
    #people > .wrap { padding-top: 80px; }
    .stage-photo { --insetx: 0% !important; --inset: 0% !important; }
    .stage-frame { height: 60vh; } .stage-photo { height: 60vh; }
    .totals { gap: 16px; }
    .chips { display: flex; }
    .split { grid-template-columns: 1fr; }
    .split .col { display: none; padding: 24px 0 8px; } .split .col.on { display: block; } .split .col + .col { padding-left: 0; border-left: 0; }
    .model-body { grid-template-columns: 1fr; } .inputs { border-right: 0; border-bottom: 1px solid var(--border-soft); }
    .film-grid { grid-template-columns: 1fr; gap: 32px; }
    .principals { grid-template-columns: 1fr 1fr; gap: 16px; } .team { grid-template-columns: repeat(3, 1fr); gap: 12px; }
    .quote { grid-template-columns: 1fr; gap: 0; } .quote .glyph { font-size: 100px; }
    .track { grid-auto-columns: 92%; --gut: 16px; } .case { height: 520px; } .case .in { padding: 24px; }
    .contact .in { grid-template-columns: 1fr; } .contact .in > div { grid-column: 1; }
    .contact .shade { background: rgba(255,255,255,.4); }
    .contact .bg { background-position: 88% center; }
  }
  @media (max-width: 560px) {
    :root { --hdr: 72px; }
    .totals { grid-template-columns: 1fr; }
    .svc-list { grid-template-columns: 1fr; }
    .ongoing { grid-template-columns: 1fr; padding: 24px; }
    .plot { height: 170px; } .node .dot { width: 36px; height: 36px; font-size: 12px; }
    .lc-area { padding-top: 44px; } .band { padding: 10px 2px 0; } .band span { font-size: 11px; letter-spacing: .04em; }
    .stage-photo .spause { bottom: auto; top: 12px; right: 12px; }
    .stage-photo .cap { left: 12px; bottom: 12px; }
    .team { grid-template-columns: 1fr 1fr; }
    .kpi b { font-size: var(--kpi-fs, min(18px, 4vw)); } 
    .qctl { flex-wrap: wrap; } .qctl .who { order: 3; width: 100%; }
    .case .tag span:last-child { display: none; }
    .case-foot { flex-direction: column; align-items: start; gap: 4px; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; }
    .reveal { opacity: 1; transform: none; } html { scroll-behavior: auto; }
  }
