:root {
  color-scheme: light;
  --paper: oklch(97% 0.009 295);
  --paper-2: oklch(93.5% 0.018 295);
  --lavender: oklch(91% 0.045 295);
  --ink: oklch(14% 0.03 285);
  --ink-2: oklch(18% 0.035 285);
  --text: oklch(19% 0.025 285);
  --muted: oklch(48% 0.035 285);
  --light-muted: oklch(70% 0.025 290);
  --violet: oklch(57% 0.25 294);
  --violet-deep: oklch(44% 0.24 294);
  --violet-light: oklch(76% 0.13 295);
  --line: color-mix(in oklch, var(--ink) 13%, transparent);
  --line-dark: color-mix(in oklch, var(--violet-light) 20%, transparent);
  --header-h: 78px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --max: 1500px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--paper); color: var(--text); font-family: "Sora", sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid var(--violet); outline-offset: 4px; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
svg { display: block; }

.skip-link { position: fixed; z-index: 1000; left: 16px; top: 12px; padding: 12px 16px; color: var(--paper); background: var(--violet-deep); transform: translateY(-180%); transition: transform .25s var(--ease); }
.skip-link:focus { transform: translateY(0); }
.scroll-progress { position: fixed; z-index: 900; inset: 0 0 auto; height: 2px; background: color-mix(in oklch, var(--paper) 72%, transparent); }
.scroll-progress i { display: block; width: 100%; height: 100%; background: var(--violet); transform: scaleX(0); transform-origin: left; will-change: transform; }

.loader { position: fixed; z-index: 999; inset: 0; display: grid; place-content: center; justify-items: center; gap: 24px; background: var(--paper); transition: opacity .45s var(--ease), visibility .45s; }
.loader.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.loader__document { position: relative; width: 80px; height: 104px; display: grid; align-content: end; gap: 7px; padding: 16px; border: 1px solid var(--line); background: var(--paper-2); box-shadow: 12px 12px 0 color-mix(in oklch, var(--violet) 7%, transparent); }
.loader__document i { height: 1px; background: var(--line); }
.loader__document i:nth-child(2) { width: 70%; }
.loader__document b { position: absolute; right: -10px; top: -12px; width: 38px; height: 38px; display: grid; place-items: center; background: var(--violet); color: var(--paper); font-size: 13px; }
.loader__track { width: min(280px, 60vw); height: 1px; overflow: hidden; background: var(--line); }
.loader__track i { display: block; width: 100%; height: 100%; background: var(--violet); transform: scaleX(0); transform-origin: left; animation: loader-progress .85s var(--ease) forwards; }
.loader p { margin: 0; color: var(--muted); font: 500 9px/1 "Azeret Mono", monospace; letter-spacing: .16em; text-transform: uppercase; }
@keyframes loader-progress { to { transform: scaleX(1); } }

.site-header { position: fixed; z-index: 800; inset: 2px 0 auto; min-height: var(--header-h); display: grid; grid-template-columns: auto 1fr auto; align-items: stretch; border-bottom: 1px solid var(--line); background: color-mix(in oklch, var(--paper) 91%, transparent); backdrop-filter: blur(16px) saturate(120%); transition: background .3s var(--ease); }
.site-header.is-scrolled { background: color-mix(in oklch, var(--paper) 97%, transparent); }
.wordmark { min-width: 280px; display: grid; align-content: center; gap: 5px; padding: 13px 30px 11px; border-right: 1px solid var(--line); }
.wordmark > span { font-size: 23px; font-weight: 600; letter-spacing: -.065em; }
.wordmark b { color: var(--violet); font-weight: 600; }
.wordmark small { color: var(--muted); font: 500 6px/1.1 "Azeret Mono", monospace; letter-spacing: .11em; text-transform: uppercase; }
.main-nav { display: flex; justify-content: center; align-items: center; gap: clamp(18px, 3vw, 46px); }
.main-nav a { position: relative; padding: 28px 0; color: var(--muted); font-size: 11px; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 21px; height: 1px; background: var(--violet); transition: right .35s var(--ease); }
.main-nav a:hover { color: var(--text); }
.main-nav a:hover::after { right: 0; }
.header-actions { display: flex; align-items: stretch; border-left: 1px solid var(--line); }
.language { display: flex; align-items: center; padding: 0 12px; }
.language button { min-width: 34px; min-height: 44px; border: 0; background: transparent; color: var(--muted); font: 600 8px/1 "Azeret Mono", monospace; cursor: pointer; }
.language button[aria-pressed="true"] { color: var(--violet-deep); }
.family-toggle { min-width: 134px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-left: 1px solid var(--line); background: transparent; font-size: 10px; cursor: pointer; }
.family-toggle i { width: 7px; height: 7px; border: solid var(--violet); border-width: 0 1px 1px 0; transform: rotate(45deg) translateY(-2px); transition: transform .3s var(--ease); }
.family-toggle[aria-expanded="true"] i { transform: rotate(225deg) translate(-2px, -1px); }
.header-cta { min-width: 170px; display: grid; place-items: center; padding: 0 22px; background: var(--violet); color: var(--paper); font-size: 10px; font-weight: 650; transition: background .25s; }
.header-cta:hover { background: var(--violet-deep); }
.menu-toggle, .mobile-nav { display: none; }

.family-panel { position: fixed; z-index: 750; inset: calc(var(--header-h) + 2px) 0 auto; display: grid; grid-template-columns: .72fr 1.28fr; max-height: 0; overflow: hidden; color: var(--paper); background: var(--ink); border-bottom: 1px solid var(--line-dark); opacity: 0; visibility: hidden; transition: max-height .75s var(--ease), opacity .35s, visibility .35s; }
.family-panel.is-open { max-height: 560px; opacity: 1; visibility: visible; }
.family-panel__intro { display: grid; align-content: end; padding: clamp(36px, 5vw, 76px); border-right: 1px solid var(--line-dark); }
.family-panel__intro > span { color: var(--violet-light); font: 500 8px/1 "Azeret Mono", monospace; letter-spacing: .16em; }
.family-panel__intro h2 { max-width: 560px; margin: 28px 0 22px; font-size: clamp(30px, 3.6vw, 58px); line-height: 1; letter-spacing: -.06em; font-weight: 500; }
.family-panel__intro p { max-width: 620px; margin: 0; color: var(--light-muted); font-size: 13px; line-height: 1.7; }
.family-panel__links { display: grid; grid-template-columns: repeat(2, 1fr); }
.family-panel__links a { min-height: 100px; display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 12px; padding: 20px 28px; border: solid var(--line-dark); border-width: 0 1px 1px 0; transition: background .3s var(--ease); }
.family-panel__links a:hover, .family-panel__links a.is-current { background: color-mix(in oklch, var(--violet) 10%, transparent); }
.family-panel__links span { color: var(--violet-light); font: 500 8px/1 "Azeret Mono", monospace; }
.family-panel__links b { font-size: 17px; letter-spacing: -.035em; font-weight: 500; }

section { position: relative; }
.section-paper { background: var(--paper); color: var(--text); }
.section-lavender { background: var(--lavender); color: var(--text); }
.section-ink { background: var(--ink); color: var(--paper); }
.hero { min-height: 100svh; display: grid; grid-template-columns: minmax(450px, .84fr) minmax(590px, 1.16fr); align-items: stretch; padding-top: var(--header-h); overflow: hidden; isolation: isolate; }
.hero-rules { position: absolute; z-index: -1; inset: var(--header-h) 0 0; opacity: .6; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 8.333vw 88px; mask-image: linear-gradient(to bottom, black, transparent 92%); }
.hero::after { content: "LEGAL / OPERATIONS"; position: absolute; z-index: -1; right: -20px; bottom: 70px; color: color-mix(in oklch, var(--violet) 6%, transparent); font-size: clamp(90px, 14vw, 250px); font-weight: 700; letter-spacing: -.08em; writing-mode: vertical-rl; }
.hero-copy { align-self: center; padding: clamp(78px, 9vw, 148px) clamp(28px, 6vw, 96px); }
.eyebrow { display: flex; align-items: center; gap: 13px; color: var(--violet-deep); font: 500 8px/1 "Azeret Mono", monospace; letter-spacing: .13em; }
.eyebrow i { width: 46px; height: 1px; background: var(--violet); }
.hero h1 { margin: clamp(42px, 6vw, 82px) 0 32px; font-size: clamp(58px, 7.2vw, 120px); line-height: .88; letter-spacing: -.08em; font-weight: 500; }
.hero h1 span { display: block; }
.hero h1 span:last-child { color: var(--violet-deep); }
.hero-lead { max-width: 690px; margin: 0; color: var(--muted); font-size: clamp(15px, 1.35vw, 19px); line-height: 1.75; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 44px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 0 22px; border: 1px solid var(--line); font-size: 10px; font-weight: 600; cursor: pointer; transition: transform .25s var(--ease), background .25s, color .25s, border-color .25s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--violet); color: var(--paper); border-color: var(--violet); }
.button-primary:hover { background: var(--violet-deep); border-color: var(--violet-deep); }
.button-quiet { background: color-mix(in oklch, var(--paper) 60%, transparent); }
.button-quiet:hover { border-color: var(--violet); color: var(--violet-deep); }
.scope-note { max-width: 740px; display: grid; grid-template-columns: 64px 1fr; gap: 14px; margin: 44px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font: 400 8px/1.7 "Azeret Mono", monospace; }
.scope-note b { color: var(--violet-deep); font-weight: 500; }

.evidence-hero { position: relative; align-self: center; width: min(92%, 960px); margin: 40px 4% 40px 0; border: 1px solid var(--line); background: color-mix(in oklch, var(--paper) 94%, transparent); box-shadow: 0 45px 130px color-mix(in oklch, var(--ink) 14%, transparent); transform: perspective(1700px) rotateY(-2deg); }
.evidence-hero figcaption { min-height: 62px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 0 20px; border-bottom: 1px solid var(--line); }
.evidence-hero figcaption span, .evidence-hero figcaption i { color: var(--muted); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .1em; font-style: normal; }
.evidence-hero figcaption b { font-size: 13px; letter-spacing: -.02em; }
.evidence-hero figcaption i { padding: 8px 10px; color: var(--violet-deep); background: color-mix(in oklch, var(--violet) 8%, transparent); }
.evidence-hero__body { min-height: 600px; display: grid; grid-template-columns: 160px 1fr; }
.evidence-chain { position: relative; margin: 0; padding: 34px 18px; list-style: none; border-right: 1px solid var(--line); }
.evidence-chain::before { content: ""; position: absolute; left: 41px; top: 57px; bottom: 72px; width: 1px; background: var(--line); }
.evidence-chain li { position: relative; z-index: 1; min-height: 120px; display: grid; grid-template-columns: 48px 1fr; align-content: start; align-items: center; gap: 3px; color: var(--muted); }
.evidence-chain li span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); font: 500 8px/1 "Azeret Mono", monospace; }
.evidence-chain li b { font-size: 9px; font-weight: 500; }
.evidence-chain li i { position: absolute; left: 20px; top: 20px; width: 8px; height: 8px; border-radius: 50%; background: transparent; }
.evidence-chain li.is-active span { border-color: var(--violet); color: var(--violet-deep); }
.evidence-chain li.is-active i { background: var(--violet); box-shadow: 0 0 0 7px color-mix(in oklch, var(--violet) 10%, transparent); }
.document-stage { min-width: 0; padding: 34px; }
.document-sheet { position: relative; min-height: 450px; padding: 28px; border: 1px solid var(--line); background: var(--paper); box-shadow: 14px 14px 0 color-mix(in oklch, var(--violet) 6%, transparent); overflow: hidden; }
.document-sheet > header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); color: var(--muted); font: 500 7px/1 "Azeret Mono", monospace; }
.document-sheet > header b { color: var(--text); }
.document-sheet > header i { padding: 8px 9px; color: var(--violet-deep); background: color-mix(in oklch, var(--violet) 7%, transparent); font-style: normal; }
.document-title { margin: 34px 0 28px; }
.document-title span { color: var(--violet-deep); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .12em; }
.document-title h2 { margin: 13px 0 8px; font-size: 30px; line-height: 1; letter-spacing: -.055em; font-weight: 500; }
.document-title p { margin: 0; color: var(--muted); font-size: 10px; }
.document-lines { display: grid; gap: 11px; }
.document-lines i { height: 1px; background: var(--line); }
.document-lines i:nth-child(2), .document-lines i:nth-child(6) { width: 82%; }
.document-lines i:nth-child(3), .document-lines i:nth-child(7) { width: 91%; }
.document-lines i:nth-child(4) { width: 58%; }
.document-meta { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px; border: solid var(--line); border-width: 1px 0 0 1px; }
.document-meta span { display: grid; gap: 9px; padding: 14px; border: solid var(--line); border-width: 0 1px 1px 0; }
.document-meta b, .document-meta i { color: var(--muted); font: 500 6px/1.2 "Azeret Mono", monospace; font-style: normal; }
.document-meta i { color: var(--text); }
.document-stamp { position: absolute; right: 36px; top: 112px; width: 94px; height: 94px; display: grid; place-content: center; justify-items: center; border: 1px solid color-mix(in oklch, var(--violet) 45%, transparent); border-radius: 50%; color: var(--violet-deep); transform: rotate(-12deg) scale(.82); opacity: .28; }
.document-stamp span { font: 600 7px/1 "Azeret Mono", monospace; letter-spacing: .12em; }
.document-stamp b { font-size: 28px; }
.document-scan { position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--violet); box-shadow: 0 0 18px color-mix(in oklch, var(--violet) 50%, transparent); opacity: 0; }
.hero.is-active .document-scan { animation: document-scan 5.2s 1.2s var(--ease) infinite; }
@keyframes document-scan { 0%, 10% { top: 0; opacity: 0; } 18%, 70% { opacity: .36; } 86%, 100% { top: 100%; opacity: 0; } }
.hero.is-active .evidence-chain li { animation: chain-state 8s steps(1) infinite; }
.hero.is-active .evidence-chain li:nth-child(2) { animation-delay: 2s; }
.hero.is-active .evidence-chain li:nth-child(3) { animation-delay: 4s; }
.hero.is-active .evidence-chain li:nth-child(4) { animation-delay: 6s; }
@keyframes chain-state { 0%, 24% { color: var(--violet-deep); } 25%, 100% { color: var(--muted); } }
.hero.is-active .document-stamp { animation: stamp-set 8s 5.5s var(--ease) infinite; }
@keyframes stamp-set { 0%, 7% { transform: rotate(-12deg) scale(1.18); opacity: 0; } 14%, 55% { transform: rotate(-12deg) scale(1); opacity: .38; } 75%, 100% { opacity: .18; } }
.evidence-ledger { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 24px; border: solid var(--line); border-width: 1px 0 0 1px; }
.evidence-ledger span { min-height: 66px; display: grid; grid-template-columns: auto 1fr; align-content: center; gap: 6px 9px; padding: 12px; border: solid var(--line); border-width: 0 1px 1px 0; }
.evidence-ledger i, .evidence-ledger b { color: var(--muted); font: 500 6px/1.2 "Azeret Mono", monospace; font-style: normal; }
.evidence-ledger i { color: var(--violet-deep); }
.evidence-ledger em { grid-column: 1 / -1; height: 1px; overflow: hidden; background: var(--line); }
.evidence-ledger em::after { content: ""; display: block; width: 34%; height: 100%; background: var(--violet); transform: translateX(-110%); }
.hero.is-active .evidence-ledger em::after { animation: evidence-pass 3.6s var(--ease) infinite; }
.evidence-ledger span:nth-child(2) em::after { animation-delay: .45s; }
.evidence-ledger span:nth-child(3) em::after { animation-delay: .9s; }
@keyframes evidence-pass { 0%, 12% { transform: translateX(-110%); } 72%, 100% { transform: translateX(300%); } }

.section-index { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; display: grid; grid-template-columns: 46px auto 1fr; align-items: center; gap: 16px; padding-top: clamp(78px, 9vw, 140px); color: var(--muted); }
.section-index::after { content: ""; height: 1px; background: var(--line); }
.section-index span, .section-index p { margin: 0; font: 500 8px/1 "Azeret Mono", monospace; letter-spacing: .14em; }
.section-index span { color: var(--violet-deep); }
.section-index--ink { color: var(--light-muted); }
.section-index--ink::after { background: var(--line-dark); }
.section-index--ink span { color: var(--violet-light); }

.problem { padding-bottom: clamp(100px, 12vw, 190px); }
.problem-heading { width: min(calc(100% - 48px), var(--max)); margin: clamp(68px, 9vw, 126px) auto 78px; display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(50px, 10vw, 160px); align-items: end; }
.problem-heading h2 { margin: 0; font-size: clamp(48px, 6.8vw, 108px); line-height: .94; letter-spacing: -.075em; font-weight: 500; }
.problem-heading p { margin: 0 0 8px; color: var(--light-muted); font-size: 14px; line-height: 1.75; }
.risk-scenes { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); border: solid var(--line-dark); border-width: 1px 0 0 1px; }
.risk-scenes article { min-height: 520px; display: grid; grid-template-rows: auto 1fr auto auto; padding: 28px; border: solid var(--line-dark); border-width: 0 1px 1px 0; }
.risk-scenes article > span { color: var(--violet-light); font: 500 8px/1 "Azeret Mono", monospace; }
.risk-scenes h3 { margin: 0 0 16px; font-size: clamp(28px, 3.2vw, 46px); line-height: 1; letter-spacing: -.055em; font-weight: 500; }
.risk-scenes p { margin: 0; color: var(--light-muted); font-size: 12px; line-height: 1.65; }
.risk-visual { position: relative; align-self: center; min-height: 240px; }
.risk-visual--queue i { position: absolute; left: 8%; right: 8%; height: 45px; border: 1px solid var(--line-dark); background: var(--ink-2); }
.risk-visual--queue i:nth-child(1) { top: 12%; }
.risk-visual--queue i:nth-child(2) { top: 32%; transform: translateX(9%); }
.risk-visual--queue i:nth-child(3) { top: 52%; transform: translateX(18%); }
.risk-visual--queue i:nth-child(4) { top: 72%; transform: translateX(27%); border-color: var(--violet-light); }
.risk-visual--hidden i { position: absolute; left: 50%; top: 50%; width: 55%; height: 55%; border: 1px solid var(--line-dark); border-radius: 50%; transform: translate(-50%, -50%); }
.risk-visual--hidden i:nth-child(2) { width: 34%; height: 34%; }
.risk-visual--hidden i:nth-child(3) { width: 10px; height: 10px; background: var(--violet-light); border: 0; }
.problem.is-active .risk-visual--hidden i:nth-child(3) { animation: hidden-risk 3.2s ease-in-out infinite; }
@keyframes hidden-risk { 50% { box-shadow: 0 0 0 34px color-mix(in oklch, var(--violet) 8%, transparent); } }
.risk-visual--evidence i { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--violet-light); }
.risk-visual--evidence i:nth-child(1) { left: 12%; top: 25%; }
.risk-visual--evidence i:nth-child(2) { left: 68%; top: 15%; }
.risk-visual--evidence i:nth-child(3) { left: 30%; top: 72%; }
.risk-visual--evidence i:nth-child(4) { left: 78%; top: 66%; opacity: .2; }
.risk-visual--evidence::before, .risk-visual--evidence::after { content: ""; position: absolute; left: 16%; top: 29%; width: 54%; height: 1px; background: var(--line-dark); transform: rotate(-9deg); transform-origin: left; }
.risk-visual--evidence::after { left: 33%; top: 75%; width: 49%; transform: rotate(-7deg); }

.category { padding-bottom: clamp(100px, 12vw, 190px); }
.category-intro { width: min(calc(100% - 48px), var(--max)); margin: clamp(68px, 9vw, 126px) auto 76px; display: grid; grid-template-columns: .42fr 1fr; gap: 40px; }
.category-intro > span { margin-top: 14px; color: var(--violet-deep); font: 500 8px/1 "Azeret Mono", monospace; letter-spacing: .13em; }
.category-intro h2 { margin: 0; font-size: clamp(46px, 6.8vw, 108px); line-height: .95; letter-spacing: -.075em; font-weight: 500; }
.category-map { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; display: grid; grid-template-columns: 1fr 120px 1fr; align-items: stretch; border: solid var(--line); border-width: 1px 0; }
.category-map article { min-height: 520px; display: grid; grid-template-rows: auto 1fr auto auto; padding: clamp(28px, 4vw, 58px); }
.category-map article > span { color: var(--muted); font: 500 8px/1 "Azeret Mono", monospace; letter-spacing: .12em; }
.category-map h3 { margin: 0 0 16px; font-size: clamp(30px, 4vw, 58px); line-height: 1; letter-spacing: -.06em; font-weight: 500; }
.category-map p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.map-before { opacity: .58; }
.map-before > div { position: relative; align-self: center; min-height: 250px; }
.map-before > div i { position: absolute; width: 78px; height: 48px; border: 1px solid var(--line); background: var(--paper); box-shadow: 7px 7px 0 color-mix(in oklch, var(--ink) 3%, transparent); }
.map-before > div i:nth-child(1) { left: 4%; top: 12%; transform: rotate(-5deg); }
.map-before > div i:nth-child(2) { right: 8%; top: 18%; transform: rotate(8deg); }
.map-before > div i:nth-child(3) { left: 32%; top: 49%; transform: rotate(3deg); }
.map-before > div i:nth-child(4) { right: 1%; bottom: 8%; transform: rotate(-9deg); }
.map-before > div i:nth-child(5) { left: 5%; bottom: 5%; transform: rotate(12deg); }
.map-transition { position: relative; display: grid; place-items: center; border: solid var(--line); border-width: 0 1px; }
.map-transition > i { position: absolute; inset: 0 auto; width: 1px; background: var(--line); }
.map-transition > span { z-index: 1; width: 46px; height: 46px; display: grid; place-items: center; background: var(--paper); color: var(--violet-deep); }
.map-transition > b { position: absolute; bottom: 30px; color: var(--violet-deep); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .1em; }
.map-after { background: color-mix(in oklch, var(--violet) 4%, transparent); }
.map-after > span { color: var(--violet-deep) !important; }
.lifecycle-ring { position: relative; align-self: center; width: min(280px, 76%); aspect-ratio: 1; margin: auto; border: 1px solid var(--line); border-radius: 50%; }
.lifecycle-ring i { position: absolute; width: 15px; height: 15px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 0 8px color-mix(in oklch, var(--violet) 8%, transparent); }
.lifecycle-ring i:nth-child(1) { left: 50%; top: -7px; }
.lifecycle-ring i:nth-child(2) { right: -7px; top: 50%; }
.lifecycle-ring i:nth-child(3) { left: 50%; bottom: -7px; }
.lifecycle-ring i:nth-child(4) { left: -7px; top: 50%; }
.lifecycle-ring b { position: absolute; inset: 26%; border: 1px solid var(--violet); border-radius: 50%; }
.category.is-active .lifecycle-ring { animation: lifecycle-rotate 14s linear infinite; }
@keyframes lifecycle-rotate { to { transform: rotate(360deg); } }

.method { padding-bottom: clamp(100px, 12vw, 190px); }
.method-heading { width: min(calc(100% - 48px), var(--max)); margin: clamp(68px, 9vw, 126px) auto 80px; display: grid; grid-template-columns: 1.18fr .82fr; gap: clamp(50px, 10vw, 160px); align-items: end; }
.method-heading h2 { margin: 0; font-size: clamp(46px, 6.6vw, 104px); line-height: .95; letter-spacing: -.075em; font-weight: 500; }
.method-heading p { margin: 0 0 8px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.lifecycle { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.lifecycle li { min-height: 210px; display: grid; grid-template-columns: 120px 1fr 250px; gap: 36px; align-items: center; border-bottom: 1px solid var(--line); }
.lifecycle-number { position: relative; align-self: stretch; display: grid; place-items: center; border-right: 1px solid var(--line); }
.lifecycle-number span { z-index: 1; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--violet); border-radius: 50%; background: var(--paper); color: var(--violet-deep); font: 500 8px/1 "Azeret Mono", monospace; }
.lifecycle-number i { position: absolute; top: 0; bottom: 0; right: -1px; width: 1px; background: var(--violet); transform: scaleY(0); transform-origin: top; }
.method.is-active .lifecycle-number i { animation: lifecycle-line 1.5s var(--ease) forwards; }
.lifecycle li:nth-child(2) .lifecycle-number i { animation-delay: .35s; }
.lifecycle li:nth-child(3) .lifecycle-number i { animation-delay: .7s; }
.lifecycle li:nth-child(4) .lifecycle-number i { animation-delay: 1.05s; }
@keyframes lifecycle-line { to { transform: scaleY(1); } }
.lifecycle article > b { color: var(--violet-deep); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .13em; }
.lifecycle h3 { margin: 16px 0 12px; font-size: clamp(28px, 3.2vw, 46px); line-height: 1; letter-spacing: -.055em; font-weight: 500; }
.lifecycle p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.lifecycle aside { color: var(--muted); font: 500 8px/1.4 "Azeret Mono", monospace; text-align: right; }

.capabilities { padding-bottom: clamp(100px, 12vw, 190px); }
.capabilities-heading { width: min(calc(100% - 48px), var(--max)); margin: clamp(68px, 9vw, 126px) auto 76px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.capabilities-heading h2 { margin: 0; font-size: clamp(46px, 6.4vw, 100px); line-height: .95; letter-spacing: -.075em; font-weight: 500; }
.capabilities-heading p { margin: 0 0 8px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.capability-register { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; border-top: 1px solid var(--line); }
.capability-register article { position: relative; min-height: 150px; display: grid; grid-template-columns: 170px .78fr 1.22fr 60px; gap: 28px; align-items: center; border-bottom: 1px solid var(--line); overflow: hidden; }
.capability-register header { display: grid; grid-template-columns: 36px 1fr; gap: 10px; color: var(--muted); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .1em; }
.capability-register header span { color: var(--violet-deep); }
.capability-register h3 { margin: 0; font-size: clamp(22px, 2.5vw, 36px); line-height: 1.05; letter-spacing: -.05em; font-weight: 500; }
.capability-register p { max-width: 660px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.capability-register article > i { justify-self: end; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; }
.capability-register article > i::before { content: ""; display: block; width: 8px; height: 8px; margin: 16px; border-radius: 50%; background: var(--violet); }
.capability-register article::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--violet); transition: right .5s var(--ease); }
.capability-register article:hover::after { right: 0; }

.experience { padding-bottom: clamp(100px, 12vw, 190px); }
.experience-intro { width: min(calc(100% - 48px), var(--max)); margin: clamp(68px, 9vw, 126px) auto 72px; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px, 10vw, 160px); align-items: end; }
.concept-badge { display: inline-flex; padding: 10px 12px; color: var(--violet-light); background: color-mix(in oklch, var(--violet) 9%, transparent); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .1em; }
.experience-intro h2 { margin: 32px 0 0; font-size: clamp(46px, 6.5vw, 104px); line-height: .95; letter-spacing: -.075em; font-weight: 500; }
.experience-intro > p { margin: 0 0 8px; color: var(--light-muted); font-size: 14px; line-height: 1.75; }
.evidence-demo { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; border: 1px solid var(--line-dark); background: var(--ink-2); box-shadow: 0 42px 110px color-mix(in oklch, var(--ink) 72%, transparent); }
.evidence-demo > nav { min-height: 96px; display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line-dark); }
.evidence-demo > nav button { position: relative; display: grid; grid-template-columns: 36px 1fr 10px; align-items: center; gap: 10px; padding: 0 22px; border: 0; border-right: 1px solid var(--line-dark); background: transparent; color: var(--light-muted); text-align: left; cursor: pointer; }
.evidence-demo > nav button:last-child { border-right: 0; }
.evidence-demo > nav span { color: var(--violet-light); font: 500 7px/1 "Azeret Mono", monospace; }
.evidence-demo > nav b { font-size: 13px; font-weight: 500; }
.evidence-demo > nav i { width: 8px; height: 8px; border: 1px solid var(--line-dark); border-radius: 50%; }
.evidence-demo > nav button[aria-pressed="true"] { color: var(--paper); background: color-mix(in oklch, var(--violet) 10%, transparent); }
.evidence-demo > nav button[aria-pressed="true"] i { border-color: var(--violet-light); background: var(--violet-light); box-shadow: 0 0 0 7px color-mix(in oklch, var(--violet) 10%, transparent); }
.demo-workspace { min-height: 620px; display: grid; grid-template-columns: 180px 1fr; background: var(--paper-2); color: var(--text); }
.demo-workspace > aside { display: grid; align-content: start; padding: 22px 12px; border-right: 1px solid var(--line); }
.demo-wordmark { margin: 6px 10px 34px; font-size: 17px; font-weight: 600; letter-spacing: -.06em; }
.demo-wordmark b { color: var(--violet); }
.demo-workspace > aside > span { min-height: 44px; display: flex; align-items: center; padding: 0 10px; color: var(--muted); font: 500 7px/1 "Azeret Mono", monospace; }
.demo-workspace > aside > span.is-active { color: var(--violet-deep); background: var(--paper); }
.demo-main { min-width: 0; padding: 24px; }
.demo-main > header { min-height: 58px; display: flex; justify-content: space-between; align-items: start; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.demo-main > header > div { display: grid; gap: 7px; }
.demo-main small { color: var(--muted); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .1em; }
.demo-main header b { font-size: 19px; letter-spacing: -.04em; }
.demo-main > header > span { padding: 8px 10px; color: var(--violet-deep); background: var(--lavender); font: 500 7px/1 "Azeret Mono", monospace; }
.demo-body { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; margin-top: 18px; }
.demo-case { min-height: 490px; padding: 28px; border: 1px solid var(--line); background: var(--paper); }
.case-head { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font: 500 7px/1 "Azeret Mono", monospace; }
.case-head i { padding: 8px 9px; color: var(--violet-deep); background: var(--lavender); font-style: normal; }
.demo-case h3 { margin: 70px 0 22px; font-size: clamp(30px, 4vw, 58px); line-height: .98; letter-spacing: -.065em; font-weight: 500; }
.demo-case > p { max-width: 730px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.case-fields { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 74px; border: solid var(--line); border-width: 1px 0 0 1px; }
.case-fields span { display: grid; gap: 10px; padding: 16px; border: solid var(--line); border-width: 0 1px 1px 0; }
.case-fields b, .case-fields i { color: var(--muted); font: 500 6px/1.2 "Azeret Mono", monospace; font-style: normal; }
.case-fields i { color: var(--text); }
.audit-trail { min-height: 490px; padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.audit-trail > span { color: var(--violet-deep); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .1em; }
.audit-trail ol { position: relative; margin: 48px 0 0; padding: 0; list-style: none; }
.audit-trail ol::before { content: ""; position: absolute; left: 7px; top: 9px; bottom: 40px; width: 1px; background: var(--line); }
.audit-trail li { position: relative; display: grid; grid-template-columns: 16px 1fr; gap: 14px; min-height: 112px; }
.audit-trail li > i { z-index: 1; width: 15px; height: 15px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); }
.audit-trail li.is-current > i { border-color: var(--violet); background: var(--violet); box-shadow: 0 0 0 7px color-mix(in oklch, var(--violet) 8%, transparent); }
.audit-trail b { font-size: 12px; font-weight: 500; }
.audit-trail p { margin: 9px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }

.faq { padding-bottom: clamp(100px, 12vw, 190px); }
.faq-layout { width: min(calc(100% - 48px), var(--max)); margin: clamp(68px, 9vw, 126px) auto 0; display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 10vw, 170px); }
.faq-heading h2 { margin: 0; font-size: clamp(42px, 5.8vw, 88px); line-height: .98; letter-spacing: -.07em; font-weight: 500; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 105px; display: grid; grid-template-columns: 1fr 32px; align-items: center; gap: 18px; cursor: pointer; list-style: none; font-size: clamp(18px, 2vw, 26px); font-weight: 500; letter-spacing: -.035em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary i { position: relative; width: 24px; height: 24px; }
.faq-list summary i::before, .faq-list summary i::after { content: ""; position: absolute; top: 50%; left: 3px; width: 18px; height: 1px; background: var(--violet-deep); transition: transform .3s var(--ease); }
.faq-list summary i::after { transform: rotate(90deg); }
.faq-list details[open] summary i::after { transform: rotate(0); }
.faq-list details p { max-width: 760px; margin: -8px 50px 32px 0; color: var(--muted); font-size: 13px; line-height: 1.75; }

.ecosystem { padding-bottom: clamp(100px, 12vw, 190px); }
.ecosystem-heading { width: min(calc(100% - 48px), var(--max)); margin: clamp(68px, 9vw, 124px) auto 70px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.ecosystem-heading h2 { margin: 0; font-size: clamp(44px, 6vw, 94px); line-height: .96; letter-spacing: -.075em; font-weight: 500; }
.ecosystem-heading p { margin: 0 0 8px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.ecosystem-register { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; display: grid; grid-template-columns: repeat(7, 1fr); border: solid var(--line); border-width: 1px 0 0 1px; }
.ecosystem-register a { position: relative; min-height: 180px; display: grid; align-content: space-between; padding: 20px; border: solid var(--line); border-width: 0 1px 1px 0; overflow: hidden; transition: color .3s, background .3s; }
.ecosystem-register a:hover, .ecosystem-register a.is-current { background: var(--ink); color: var(--paper); }
.ecosystem-register span { color: var(--violet-deep); font: 500 8px/1 "Azeret Mono", monospace; }
.ecosystem-register h3 { margin: 50px 0 0; font-size: 16px; line-height: 1; letter-spacing: -.05em; font-weight: 500; }
.ecosystem-register h3 b { display: block; margin-top: 6px; color: var(--violet-deep); font-weight: 600; }
.ecosystem-register a:hover h3 b, .ecosystem-register a.is-current h3 b { color: var(--violet-light); }
.ecosystem-register a > i { position: absolute; right: 16px; top: 17px; color: var(--violet-deep); font: 500 7px/1 "Azeret Mono", monospace; font-style: normal; }

.contact { min-height: 780px; display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: clamp(50px, 8vw, 130px); padding: clamp(100px, 12vw, 190px) max(24px, calc((100vw - var(--max)) / 2)); background: var(--violet); color: var(--paper); overflow: hidden; isolation: isolate; }
.contact-pages { position: absolute; z-index: -1; right: -4vw; bottom: -5vw; width: min(48vw, 780px); height: min(48vw, 780px); }
.contact-pages i { position: absolute; right: 0; bottom: 0; width: 68%; height: 78%; border: 1px solid color-mix(in oklch, var(--paper) 22%, transparent); background: color-mix(in oklch, var(--violet-deep) 18%, transparent); transform-origin: bottom right; }
.contact-pages i:nth-child(1) { transform: rotate(-21deg); }
.contact-pages i:nth-child(2) { transform: rotate(-12deg); }
.contact-pages i:nth-child(3) { transform: rotate(-4deg); }
.contact-pages i:nth-child(4) { transform: rotate(5deg); }
.contact.is-active .contact-pages i:nth-child(1) { animation: page-fan 8s ease-in-out infinite; }
@keyframes page-fan { 50% { transform: rotate(-27deg); } }
.contact-copy > span, .contact aside > span { font: 600 8px/1 "Azeret Mono", monospace; letter-spacing: .14em; }
.contact h2 { max-width: 1040px; margin: 38px 0 28px; font-size: clamp(52px, 7.2vw, 116px); line-height: .92; letter-spacing: -.08em; font-weight: 550; }
.contact-copy > p { max-width: 720px; margin: 0 0 42px; font-size: 15px; line-height: 1.7; }
.button-light { color: var(--ink); background: var(--paper); border-color: var(--paper); }
.button-light:hover { background: var(--lavender); }
.contact aside { display: grid; gap: 14px; padding: 28px; border: 1px solid color-mix(in oklch, var(--paper) 30%, transparent); background: color-mix(in oklch, var(--violet-deep) 20%, transparent); }
.contact aside b { font-size: clamp(24px, 3vw, 44px); letter-spacing: -.055em; }
.contact aside p { margin: 0; font-size: 11px; line-height: 1.6; }

.site-footer { min-height: 220px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 44px max(24px, calc((100vw - var(--max)) / 2)); color: var(--paper); background: var(--ink); border-top: 1px solid var(--line-dark); }
.footer-wordmark { display: grid; gap: 7px; }
.footer-wordmark span { font-size: 28px; font-weight: 600; letter-spacing: -.065em; }
.footer-wordmark b { color: var(--violet-light); }
.footer-wordmark small { color: var(--light-muted); font: 500 7px/1 "Azeret Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 28px; color: var(--light-muted); font-size: 10px; }
.site-footer nav a:hover { color: var(--violet-light); }
.site-footer > p { grid-column: 1 / -1; margin: 0; padding-top: 24px; border-top: 1px solid var(--line-dark); color: color-mix(in oklch, var(--light-muted) 65%, transparent); font: 400 7px/1 "Azeret Mono", monospace; }

[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .72s var(--ease), transform .82s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1280px) {
  .main-nav { display: none; }
  .site-header { grid-template-columns: auto 1fr; }
  .header-actions { justify-self: end; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding-bottom: 48px; }
  .evidence-hero { width: calc(100% - 48px); margin: 0 24px 80px; transform: none; }
  .ecosystem-register { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 860px) {
  :root { --header-h: 68px; }
  section[id] { scroll-margin-top: 68px; }
  .site-header { grid-template-columns: 1fr 68px; backdrop-filter: none; }
  .wordmark { min-width: 0; padding: 11px 20px 9px; border-right: 0; }
  .wordmark > span { font-size: 19px; }
  .wordmark small { font-size: 5.5px; }
  .header-actions { display: none; }
  .menu-toggle { display: grid; place-content: center; gap: 7px; border: 0; border-left: 1px solid var(--line); background: transparent; cursor: pointer; }
  .menu-toggle i { width: 24px; height: 1px; background: var(--text); transition: transform .25s var(--ease); }
  .menu-toggle[aria-expanded="true"] i:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i:last-child { transform: translateY(-4px) rotate(-45deg); }
  .mobile-nav { position: fixed; inset: var(--header-h) 0 0; display: grid; align-content: start; padding: 26px 22px; background: var(--paper); opacity: 0; visibility: hidden; transform: translateY(-18px); transition: opacity .3s, visibility .3s, transform .4s var(--ease); }
  .mobile-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .mobile-nav a { min-height: 64px; display: flex; align-items: center; border-bottom: 1px solid var(--line); font-size: 22px; letter-spacing: -.04em; }
  .mobile-language { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 22px; border: 1px solid var(--line); }
  .mobile-language button { min-height: 52px; border: 0; background: transparent; color: var(--muted); font: 600 10px/1 "Azeret Mono", monospace; cursor: pointer; }
  .mobile-language button + button { border-left: 1px solid var(--line); }
  .mobile-language button[aria-pressed="true"] { background: color-mix(in oklch, var(--violet) 10%, var(--paper)); color: var(--violet); }
  .mobile-nav a:last-child { justify-content: center; margin-top: 24px; color: var(--paper); background: var(--violet); border: 0; font-size: 12px; }
  .family-panel { display: none; }
  .hero-copy { padding: 90px 22px 48px; }
  .hero h1 { font-size: clamp(56px, 14vw, 88px); }
  .scope-note { grid-template-columns: 1fr; }
  .evidence-hero { width: calc(100% - 44px); margin: 0 22px 50px; }
  .evidence-hero__body { min-height: 500px; grid-template-columns: 70px 1fr; }
  .evidence-chain { padding: 28px 10px; }
  .evidence-chain::before { left: 34px; }
  .evidence-chain li { grid-template-columns: 48px; min-height: 100px; }
  .evidence-chain li b { display: none; }
  .document-stage { padding: 22px 14px; }
  .document-sheet { min-height: 410px; padding: 20px; }
  .document-meta { grid-template-columns: 1fr; }
  .document-stamp { right: 18px; top: 104px; width: 72px; height: 72px; }
  .evidence-ledger { grid-template-columns: 1fr; }
  .section-index { width: calc(100% - 44px); padding-top: 76px; }
  .problem-heading, .category-intro, .method-heading, .capabilities-heading, .experience-intro, .faq-layout, .ecosystem-heading { width: calc(100% - 44px); grid-template-columns: 1fr; gap: 34px; }
  .risk-scenes, .category-map, .lifecycle, .capability-register, .evidence-demo, .ecosystem-register { width: calc(100% - 44px); }
  .risk-scenes { grid-template-columns: 1fr; }
  .risk-scenes article { min-height: 430px; }
  .category-map { grid-template-columns: 1fr; }
  .map-transition { min-height: 74px; border-width: 1px 0; }
  .map-transition > i { width: 100%; height: 1px; inset: auto 0; }
  .map-transition > span { transform: rotate(90deg); }
  .map-transition > b { display: none; }
  .category-map article { min-height: 440px; }
  .lifecycle li { grid-template-columns: 72px 1fr; gap: 22px; }
  .lifecycle aside { display: none; }
  .lifecycle-number { border-right: 0; }
  .lifecycle-number i { right: 50%; }
  .capability-register article { min-height: 220px; grid-template-columns: 1fr 56px; gap: 18px; padding: 28px 0; }
  .capability-register header, .capability-register h3, .capability-register p { grid-column: 1; }
  .capability-register article > i { grid-column: 2; grid-row: 1 / span 3; }
  .evidence-demo > nav { grid-template-columns: repeat(2, 1fr); }
  .evidence-demo > nav button { min-height: 78px; border-bottom: 1px solid var(--line-dark); }
  .demo-workspace { grid-template-columns: 72px 1fr; }
  .demo-workspace > aside { padding: 16px 8px; }
  .demo-wordmark { font-size: 0; margin: 4px auto 24px; }
  .demo-wordmark b { width: 32px; height: 32px; display: grid; place-items: center; font-size: 10px; background: var(--violet); color: var(--paper); }
  .demo-workspace > aside > span { justify-content: center; padding: 0; font-size: 0; }
  .demo-workspace > aside > span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--line); }
  .demo-workspace > aside > span.is-active::before { background: var(--violet); }
  .demo-body { grid-template-columns: 1fr; }
  .audit-trail { min-height: auto; }
  .case-fields { grid-template-columns: 1fr; }
  .ecosystem-register { grid-template-columns: repeat(2, 1fr); }
  .contact { min-height: 720px; grid-template-columns: 1fr; padding-inline: 22px; }
  .contact aside { display: none; }
  .site-footer { grid-template-columns: 1fr; padding-inline: 22px; }
}

@media (max-width: 560px) {
  .hero-buttons { display: grid; }
  .button { width: 100%; }
  .evidence-hero figcaption { grid-template-columns: 1fr auto; }
  .evidence-hero figcaption span { display: none; }
  .evidence-hero__body { grid-template-columns: 54px 1fr; }
  .evidence-chain::before { left: 27px; }
  .evidence-chain li { grid-template-columns: 34px; }
  .evidence-chain li span { width: 34px; height: 34px; }
  .evidence-chain li i { left: 13px; top: 13px; }
  .document-stage { padding-inline: 10px; }
  .document-sheet > header i { display: none; }
  .evidence-ledger { display: none; }
  .problem-heading h2, .category-intro h2, .method-heading h2, .capabilities-heading h2, .experience-intro h2, .ecosystem-heading h2 { font-size: clamp(40px, 12vw, 62px); }
  .faq-heading h2 { font-size: clamp(38px, 11vw, 56px); }
  .evidence-demo > nav { grid-template-columns: 1fr; }
  .demo-main { padding: 15px; }
  .demo-main > header > span { display: none; }
  .demo-case { padding: 22px; }
  .demo-case h3 { margin-top: 48px; }
  .ecosystem-register { grid-template-columns: 1fr; }
  .ecosystem-register a { min-height: 120px; }
  .contact h2 { font-size: clamp(48px, 14vw, 72px); }
  .site-footer nav { display: grid; grid-template-columns: 1fr 1fr; }
}

/* V4 continuous scroll depth and softer business-system surfaces. */
.business-route-transition { position:fixed;inset:0;z-index:1200;display:grid;place-content:center;justify-items:center;color:white;background:var(--ink);opacity:0;pointer-events:none;transform:translateY(100%);transition:opacity .18s ease,transform .64s var(--ease); }
.business-route-transition.is-active { opacity:1;pointer-events:auto;transform:translateY(0); }
.business-route-transition span { color:var(--violet);font:500 8px/1 "Azeret Mono",monospace;letter-spacing:.16em; }
.business-route-transition b { margin:18px 0 28px;font-size:clamp(36px,6vw,86px);font-weight:400;letter-spacing:-.06em; }
.business-route-transition i { width:min(420px,68vw);height:3px;background:linear-gradient(90deg,var(--violet),var(--violet-light));transform:scaleX(0);transform-origin:left; }
.business-route-transition.is-active i { animation:route-line .48s .12s var(--ease) forwards; } @keyframes route-line{to{transform:scaleX(1)}}
[data-motion-section].is-active [data-reveal] { translate: 0 var(--section-shift, 0px); transition: translate 90ms linear; will-change: translate; }
[data-motion-section].is-active figure { translate: 0 var(--section-shift-inverse, 0px); transition: translate 90ms linear; will-change: translate; }
.evidence-hero, .evidence-demo, .capability-card, .experience-panel, .family-panel__links a, .ecosystem-register a { border-radius: 20px; overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .loader { display: none; }
  [data-reveal] { opacity: 1; transform: none; }
  .evidence-hero { transform: none !important; }
  [data-motion-section] [data-reveal], [data-motion-section] figure { translate: none !important; }
}
