:root{--vexil-black: #000000;--vexil-graphite: #7C838B;--vexil-red: #E11228;--surface-0: #000000;--surface-1: #070809;--surface-2: #0C0E10;--surface-3: #121518;--ink-primary: #F5F5F5;--ink-secondary:#A9B0B7;--ink-muted: var(--vexil-graphite);--ink-faint: #4A5057;--red: var(--vexil-red);--red-ink: #FF3B4E;--red-dim: #8E0B19;--red-wash: rgba(225, 18, 40, .08);--rule: rgba(124, 131, 139, .22);--rule-strong: rgba(124, 131, 139, .42);--rule-faint: rgba(124, 131, 139, .1);--font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--fs-display: clamp(2.375rem, 1.2rem + 4.4vw, 4rem);--fs-h1: clamp(2.125rem, 1.2rem + 4.2vw, 4rem);--fs-h2: clamp(1.625rem, 1.15rem + 2.2vw, 2.75rem);--fs-h3: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);--fs-lead: clamp(1.0625rem, .98rem + .5vw, 1.375rem);--fs-body: clamp(.9375rem, .9rem + .2vw, 1.0625rem);--fs-small: .875rem;--fs-label: .75rem;--fs-micro: .6875rem;--lh-display: .92;--lh-tight: 1.06;--lh-snug: 1.28;--lh-body: 1.62;--tracking-display: -.022em;--tracking-tight: -.02em;--tracking-label: .18em;--tracking-micro: .24em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 2.5rem;--sp-8: 3rem;--sp-9: 4rem;--sp-10: 5rem;--sp-11: 6.5rem;--sp-12: 8rem;--section-y: clamp(4rem, 2.75rem + 5vw, 7rem);--shell-max: 82.5rem;--gutter: clamp(1.25rem, .5rem + 3vw, 3.5rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-mech: cubic-bezier(.65, 0, .35, 1);--dur-fast: .14s;--dur-base: .26s;--dur-slow: .62s;--nav-h: 4.5rem}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-base: 0ms;--dur-slow: 0ms}}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-var.woff2) format("woff2-variations");font-weight:300 800;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122,U+2212,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrainsmono-latin-var.woff2) format("woff2-variations");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122,U+2212,U+FFFD}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 1rem)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--vexil-black);color:var(--ink-primary);font-family:var(--font-display);font-size:var(--fs-body);font-variation-settings:"wdth" 100;line-height:var(--lh-body);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none;text-underline-offset:.25em}:focus-visible{outline:2px solid var(--red-ink);outline-offset:3px}::selection{background:var(--red);color:#fff}.display{font-size:var(--fs-display);font-weight:700;font-variation-settings:"wdth" 88;line-height:var(--lh-display);letter-spacing:var(--tracking-display);text-transform:uppercase;text-wrap:balance}.h2{font-size:var(--fs-h2);font-weight:700;font-variation-settings:"wdth" 90;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-transform:uppercase;text-wrap:balance}.h3{font-size:var(--fs-h3);font-weight:600;font-variation-settings:"wdth" 96;line-height:var(--lh-snug);letter-spacing:-.012em;text-transform:uppercase}.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--ink-secondary);text-wrap:pretty}.prose p+p{margin-top:1.15em}.prose{color:var(--ink-secondary);text-wrap:pretty}.label{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.label--micro{font-size:var(--fs-micro);letter-spacing:var(--tracking-micro)}.label--hot{color:var(--red-ink)}.label--bright{color:var(--ink-primary)}.shell{width:100%;max-width:var(--shell-max);margin-inline:auto;padding-inline:var(--gutter)}.section{position:relative;padding-block:var(--section-y);border-top:1px solid var(--rule)}.section--flush{border-top:0}.section-head{display:grid;gap:var(--sp-4);margin-bottom:var(--sp-8)}.section-head__meta{display:flex;align-items:center;gap:var(--sp-3)}.section-head__meta:after{content:"";flex:1;height:1px;background:var(--rule)}.section-head__index{color:var(--red-ink)}@media(min-width:60rem){.section-head--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;column-gap:var(--sp-8)}.section-head--split .section-head__meta{grid-column:1 / -1}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:var(--sp-3);left:var(--sp-3);z-index:100;padding:var(--sp-3) var(--sp-4);background:var(--red);color:#fff;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;transform:translateY(-160%);transition:transform var(--dur-fast) var(--ease-out)}.skip-link:focus-visible,.skip-link:focus{transform:translateY(0)}.vxl{display:block;width:100%;height:auto;overflow:visible}.vxl-shard{fill:var(--ink-primary)}.vxl-blade{fill:var(--red)}.vxl--hero .vxl-shard{transform-box:fill-box;transform-origin:40% 60%;animation:vxl-shard-in .9s var(--ease-out) backwards}.vxl--hero .vxl-blade{transform-box:fill-box;transform-origin:20% 80%;animation:vxl-blade-in .9s var(--ease-out) .38s backwards,vxl-blade-pulse 5.5s ease-in-out 1.4s infinite}@keyframes vxl-shard-in{0%{opacity:0;transform:scale(.965)}to{opacity:1;transform:none}}@keyframes vxl-blade-in{0%{opacity:0;transform:translate(-9%,9%) scaleY(.86)}to{opacity:1;transform:none}}@keyframes vxl-blade-pulse{0%,to{opacity:1}50%{opacity:.68}}.hero__mark{position:relative;overflow:hidden}.hero__mark:after{content:"";position:absolute;inset:-10%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.42) 50%,transparent 58%);mix-blend-mode:overlay;transform:translate3d(-130%,0,0);animation:vx-scan 8s cubic-bezier(.6,0,.35,1) 2.6s infinite}@keyframes vx-scan{0%{transform:translate3d(-130%,0,0)}26%,to{transform:translate3d(130%,0,0)}}@media(prefers-reduced-motion:reduce){.vxl--hero .vxl-shard,.vxl--hero .vxl-blade{animation:none}.hero__mark:after{display:none}}.vxl--glyph{width:1.5rem;flex:none}.vxl--glyph .vxl-shard{fill:var(--ink-primary)}.wordmark:hover .vxl--glyph .vxl-blade{fill:var(--red-ink)}.vxl--glyph .vxl-blade{transition:fill var(--dur-fast) var(--ease-out)}.btn{--btn-fg: var(--ink-primary);--btn-bg: transparent;--btn-bd: var(--rule-strong);position:relative;display:inline-flex;align-items:center;gap:var(--sp-3);padding:.9375rem var(--sp-5);min-height:2.875rem;border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast) var(--ease-mech),border-color var(--dur-fast) var(--ease-mech),color var(--dur-fast) var(--ease-mech)}.btn__arrow{width:.75rem;height:1px;background:currentColor;position:relative;transition:transform var(--dur-base) var(--ease-out)}.btn__arrow:after{content:"";position:absolute;right:0;top:50%;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}.btn:hover .btn__arrow{transform:translate(4px)}.btn--primary{--btn-bg: var(--red);--btn-bd: var(--red);--btn-fg: #FFFFFF}.btn--primary:hover{--btn-bg: #F41B32;--btn-bd: #F41B32}.btn--ghost:hover{--btn-bd: var(--ink-primary);--btn-bg: rgba(245, 245, 245, .04)}.btn--block{width:100%;justify-content:space-between}.brackets{position:relative}.brackets:before,.brackets:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--rule-strong);border-style:solid;pointer-events:none;transition:border-color var(--dur-base) var(--ease-out)}.brackets:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.brackets:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.brackets--hot:before,.brackets--hot:after{border-color:var(--red)}.wordmark{display:inline-flex;align-items:center;gap:.625rem}.wordmark__type{display:flex;align-items:baseline;gap:.4375rem}.wordmark__name{font-size:1.0625rem;font-weight:700;font-variation-settings:"wdth" 118;letter-spacing:.1em;text-transform:uppercase;line-height:1}.wordmark__suffix{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--tracking-micro);text-transform:uppercase;color:var(--ink-muted);line-height:1;transition:color var(--dur-fast) var(--ease-out)}.wordmark:hover .wordmark__suffix{color:var(--red-ink)}.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-h);display:flex;align-items:center;border-bottom:1px solid transparent;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.nav.is-stuck{background:#000000db;backdrop-filter:blur(10px);border-bottom-color:var(--rule)}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);width:100%}.nav__links{display:none;align-items:center;gap:clamp(1.25rem,2.2vw,2.25rem)}.nav__link{position:relative;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);padding-block:.5rem;transition:color var(--dur-fast) var(--ease-out)}.nav__link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}.nav__link:hover,.nav__link.is-active{color:var(--ink-primary)}.nav__link:hover:after,.nav__link.is-active:after{transform:scaleX(1)}.nav__cta{display:none}.nav__toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:2.75rem;height:2.75rem;padding:0 .625rem;border:1px solid var(--rule-strong);background:transparent;cursor:pointer}.nav__toggle span{display:block;height:1px;width:100%;background:var(--ink-primary);transition:transform var(--dur-base) var(--ease-mech),opacity var(--dur-fast) linear}.nav__toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav__panel{position:fixed;inset:var(--nav-h) 0 0 0;z-index:49;display:grid;align-content:start;gap:0;padding:var(--sp-6) var(--gutter) var(--sp-8);background:var(--vexil-black);border-top:1px solid var(--rule);transform:translateY(-101%);visibility:hidden;transition:transform var(--dur-base) var(--ease-mech),visibility var(--dur-base)}.nav__panel.is-open{transform:translateY(0);visibility:visible}.nav__panel a:not(.btn){display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);padding-block:var(--sp-5);border-bottom:1px solid var(--rule);font-size:1.5rem;font-weight:700;font-variation-settings:"wdth" 110;letter-spacing:-.015em;text-transform:uppercase}.nav__panel a .label{font-size:var(--fs-micro)}.nav__panel .btn{margin-top:var(--sp-6)}@media(min-width:60rem){.nav__links,.nav__cta{display:flex}.nav__toggle,.nav__panel{display:none}}.rule{height:1px;background:var(--rule);border:0;margin:0}.tag{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.3125rem .625rem;border:1px solid var(--rule);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.pip{width:5px;height:5px;background:var(--red);flex:none}.hero{position:relative;padding-top:calc(var(--nav-h) + clamp(2rem,6vh,4.5rem));padding-bottom:0;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,var(--rule-faint) 1px,transparent 1px),linear-gradient(to bottom,var(--rule-faint) 1px,transparent 1px);background-size:5.5rem 5.5rem;-webkit-mask-image:radial-gradient(ellipse 80% 65% at 62% 38%,#000 0%,transparent 78%);mask-image:radial-gradient(ellipse 80% 65% at 62% 38%,#000 0%,transparent 78%);pointer-events:none}.hero__grid{position:relative;display:grid;gap:var(--sp-7);align-items:center;min-height:0}.hero__eyebrow{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6)}.hero__eyebrow:after{content:"";flex:1;max-width:8rem;height:1px;background:var(--rule-strong)}.hero__title{margin-bottom:var(--sp-5)}.hero__title em{font-style:normal;color:var(--vexil-graphite)}.hero__lead{max-width:46ch;margin-bottom:var(--sp-6)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.hero__mark{position:relative;width:min(52%,12rem);margin:var(--sp-8) auto var(--sp-2)}.readout{position:relative;display:grid;border-top:1px solid var(--rule);margin-top:var(--sp-9)}.readout__item{display:grid;gap:var(--sp-2);padding-block:var(--sp-5);border-bottom:1px solid var(--rule)}.readout__value{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--ink-primary);letter-spacing:.02em;line-height:1.4}@media(min-width:48rem){.readout{grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule)}.readout__value{font-size:.8125rem}.readout__item{border-bottom:0;padding-inline:var(--sp-5)}.readout__item:first-child{padding-left:0}.readout__item+.readout__item{border-left:1px solid var(--rule)}}@media(min-width:62rem){.hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(2rem,5vw,5rem);min-height:calc(100svh - var(--nav-h) - 9rem)}.hero__mark{width:100%;max-width:30rem;margin:0}}[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .62s var(--ease-out),transform .62s var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}[data-reveal].is-revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}.thesis__grid{display:grid;gap:var(--sp-7)}.thesis__body{max-width:60ch}.thesis__body p{font-size:var(--fs-lead);line-height:1.55}.thesis__body p+p{margin-top:var(--sp-5)}.thesis__body strong{color:var(--ink-primary);font-weight:600}.thesis__aside{display:grid;gap:var(--sp-4);align-content:start;padding-top:var(--sp-2)}.thesis__fail{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-4);padding-block:var(--sp-4);border-top:1px solid var(--rule);color:var(--ink-muted);font-size:var(--fs-small);line-height:1.5}.thesis__fail span:first-child{color:var(--red-ink);font-family:var(--font-mono)}@media(min-width:62rem){.thesis__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:clamp(3rem,6vw,6rem)}}.dossier{display:grid;gap:var(--sp-8)}.dossier__plate{position:relative;align-self:start;width:100%;max-width:20rem;margin-inline:auto;border:1px solid var(--rule);padding:var(--sp-3)}.dossier__photo{position:relative;display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;filter:grayscale(1) contrast(1.14) brightness(.74)}.dossier__plate:after{content:"";position:absolute;top:var(--sp-3);left:var(--sp-3);width:calc(100% - var(--sp-3) * 2);aspect-ratio:4 / 5;background:linear-gradient(180deg,rgba(0,0,0,.24) 0%,transparent 26%,rgba(0,0,0,.42) 78%,rgba(0,0,0,.78) 100%);pointer-events:none}.dossier__stamp{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--rule)}.dossier__name{font-size:clamp(1.375rem,1.1rem + .9vw,1.75rem);font-weight:700;font-variation-settings:"wdth" 92;letter-spacing:-.015em;text-transform:uppercase;line-height:1}.dossier__bio p+p{margin-top:var(--sp-4)}.dossier__bio{max-width:58ch}.dossier__fields{margin-top:var(--sp-7);border-top:1px solid var(--rule)}.dossier__field{display:grid;gap:var(--sp-1);padding-block:var(--sp-4);border-bottom:1px solid var(--rule)}.dossier__field dd{font-family:var(--font-mono);font-size:var(--fs-small);line-height:1.5;color:var(--ink-primary)}@media(min-width:40rem){.dossier__field{grid-template-columns:12rem minmax(0,1fr);gap:var(--sp-5);align-items:baseline}}@media(min-width:62rem){.dossier{grid-template-columns:minmax(0,20rem) minmax(0,1fr);column-gap:clamp(2.5rem,5vw,5rem);align-items:start}}.caps{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}.cap{position:relative;display:grid;gap:var(--sp-3);align-content:start;padding:var(--sp-6) var(--sp-5) var(--sp-7);background:var(--vexil-black);transition:background var(--dur-base) var(--ease-out)}.cap:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}.cap:hover{background:var(--surface-2)}.cap:hover:before{transform:scaleX(1)}.cap__index{color:var(--red-ink)}.cap__title{margin-top:var(--sp-1)}.cap__body{color:var(--ink-muted);font-size:var(--fs-small);line-height:1.6}@media(min-width:44rem){.caps{grid-template-columns:repeat(6,1fr)}.cap{grid-column:span 3}}@media(min-width:70rem){.cap{grid-column:span 2}.cap:nth-child(4),.cap:nth-child(5){grid-column:span 3}}.phases{display:grid;gap:0}.phase{position:relative;display:grid;gap:var(--sp-3);align-content:start;padding:var(--sp-6) 0 var(--sp-6) var(--sp-6);border-left:1px solid var(--rule)}.phase:before{content:"";position:absolute;left:-4px;top:var(--sp-6);width:7px;height:7px;background:var(--vexil-graphite)}.phase:first-child:before{background:var(--red)}.phase__body{color:var(--ink-muted);font-size:var(--fs-small);line-height:1.6;max-width:34ch}.phase__title{margin-top:var(--sp-1)}@media(min-width:56rem){.phases{grid-template-columns:repeat(4,1fr)}.phase{padding:var(--sp-7) var(--sp-5) 0 0;border-left:0;border-top:1px solid var(--rule)}.phase:before{left:0;top:-4px}}.work{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}.work__tile{display:grid;gap:var(--sp-4);align-content:space-between;min-height:15rem;padding:var(--sp-6) var(--sp-5);background:var(--vexil-black);transition:background var(--dur-base) var(--ease-out)}.work__tile:hover{background:var(--surface-2)}.work__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--rule)}.work__status{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--ink-secondary)}.work__body{color:var(--ink-muted);font-size:var(--fs-small);line-height:1.6}.work__note{margin-top:var(--sp-5)}@media(min-width:48rem){.work{grid-template-columns:repeat(2,1fr)}}.contact{position:relative;border-top:2px solid var(--red);overflow:hidden}.contact:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 0%,var(--red-wash) 0%,transparent 70%);pointer-events:none}.contact__grid{position:relative;display:grid;gap:var(--sp-8)}.contact__title{margin-bottom:var(--sp-5)}.contact__lead{max-width:42ch;margin-bottom:var(--sp-7)}.contact__direct{display:inline-flex;align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-body);color:var(--ink-primary);border-bottom:1px solid var(--rule-strong);padding-bottom:var(--sp-2);transition:border-color var(--dur-fast) var(--ease-out)}.contact__direct:hover{border-bottom-color:var(--red)}.form{display:grid;gap:var(--sp-5)}.field{display:grid;gap:var(--sp-2)}.field input,.field textarea{width:100%;padding:var(--sp-3) 0;background:transparent;border:0;border-bottom:1px solid var(--rule-strong);color:var(--ink-primary);font-family:var(--font-mono);font-size:var(--fs-small);transition:border-color var(--dur-fast) var(--ease-out)}.field textarea{resize:vertical;min-height:6rem;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field input:focus,.field textarea:focus{outline:0;border-bottom-color:var(--red)}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--red-ink);outline-offset:4px}.form__row{display:grid;gap:var(--sp-5)}@media(min-width:34rem){.form__row{grid-template-columns:1fr 1fr}}.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-5)}.form__status{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.form__status[data-state=error]{color:var(--red-ink)}.form__status[data-state=ok]{color:var(--ink-primary)}@media(min-width:62rem){.contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(3rem,6vw,6rem)}}.footer{border-top:1px solid var(--rule);padding-block:var(--sp-7)}.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-5)}.footer__links{display:flex;flex-wrap:wrap;gap:var(--sp-5)}.footer__links a{transition:color var(--dur-fast) var(--ease-out)}.footer__links a:hover{color:var(--ink-primary)}.dossier__role{color:var(--ink-muted)}.dossier__link{color:var(--ink-primary);overflow-wrap:anywhere;border-bottom:1px solid var(--rule-strong);padding-bottom:2px;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.dossier__link:hover{border-bottom-color:var(--red)}.nav__progress{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--red);transform:scaleX(var(--scroll-progress, 0));transform-origin:left;opacity:.85}@supports (animation-timeline: scroll()){.nav__progress{transform:scaleX(0);animation:vx-progress linear;animation-timeline:scroll(root block)}@keyframes vx-progress{to{transform:scaleX(1)}}}.hud-rail{position:fixed;right:clamp(1rem,2vw,2rem);top:50%;transform:translateY(-50%);z-index:45;display:none;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) 0}.hud-rail__item{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);background:none;border:0;padding:.25rem 0;cursor:pointer;color:var(--ink-muted);transition:color var(--dur-fast) var(--ease-out)}.hud-rail__label{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;opacity:0;transform:translate(6px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.hud-rail__tick{width:18px;height:2px;background:currentColor;flex:none;transition:width var(--dur-base) var(--ease-out),background var(--dur-fast) var(--ease-out)}.hud-rail__item:hover,.hud-rail__item:focus-visible{color:var(--ink-primary)}.hud-rail__item:hover .hud-rail__label,.hud-rail__item:focus-visible .hud-rail__label{opacity:1;transform:none}.hud-rail__item[aria-current=true]{color:var(--ink-primary)}.hud-rail__item[aria-current=true] .hud-rail__tick{width:32px;background:var(--red)}@media(min-width:102rem){.hud-rail{display:flex}}.cap,.work__tile{position:relative;isolation:isolate}.cap:after,.work__tile:after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(18rem 18rem at var(--mx, 50%) var(--my, 50%),rgba(225,18,40,.1) 0%,rgba(124,131,139,.06) 34%,transparent 68%);transition:opacity var(--dur-base) var(--ease-out)}.cap:hover:after,.work__tile:hover:after{opacity:1}@media(hover:none){.cap:after,.work__tile:after{display:none}}.decode__word{display:inline-block;white-space:nowrap}.decode__ch{display:inline-block}.decode__ch--noise{color:var(--red-ink);opacity:.72}.nav__key{display:none;align-items:center;gap:.375rem;padding:.375rem .5rem;border:1px solid var(--rule);background:none;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav__key:hover{border-color:var(--rule-strong);color:var(--ink-primary)}@media(min-width:68rem){.nav__key{display:inline-flex}}.palette{width:min(38rem,calc(100vw - 2rem));padding:0;border:1px solid var(--rule-strong);background:var(--surface-1);color:var(--ink-primary);margin-top:14vh}.palette::backdrop{background:#000000b8;backdrop-filter:blur(3px)}.palette__bar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--rule)}.palette__input{flex:1;border:0;background:none;font-family:var(--font-mono);font-size:var(--fs-body);color:var(--ink-primary)}.palette__input:focus{outline:none}.palette__input::placeholder{color:var(--ink-faint)}.palette__list{max-height:22rem;overflow-y:auto}.palette__opt{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);width:100%;padding:var(--sp-4) var(--sp-5);border:0;border-left:2px solid transparent;background:none;color:var(--ink-secondary);font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:.06em;text-align:left;text-transform:uppercase;cursor:pointer}.palette__opt[data-active=true]{border-left-color:var(--red);background:var(--surface-3);color:var(--ink-primary)}.palette__opt span:last-child{font-size:var(--fs-micro);color:var(--ink-muted);letter-spacing:var(--tracking-label)}.palette__empty{padding:var(--sp-6) var(--sp-5);font-family:var(--font-mono);font-size:var(--fs-small);color:var(--ink-muted)}.palette__foot{display:flex;gap:var(--sp-5);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.caps>*,.work>*,.phases>*{opacity:0;transform:translateY(12px);transition:opacity .56s var(--ease-out),transform .56s var(--ease-out);transition-delay:calc(var(--i, 0) * 70ms)}.is-revealed .caps>*,.caps.is-revealed>*,.is-revealed .work>*,.work.is-revealed>*,.is-revealed .phases>*,.phases.is-revealed>*{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.caps>*,.work>*,.phases>*{opacity:1;transform:none;transition:none}.nav__progress{animation:none;transform:scaleX(var(--scroll-progress, 0))}}@property --vx-sweep{syntax: "<percentage>"; inherits: false; initial-value: 0%;}@supports (color: color-mix(in oklab,red,blue)){:root{--red-hover: color-mix(in oklab, var(--vexil-red) 88%, white);--rule-hover: color-mix(in oklab, var(--vexil-graphite) 55%, transparent);--surface-hover: color-mix(in oklab, var(--vexil-graphite) 7%, transparent)}.btn--primary:hover{--btn-bg: var(--red-hover);--btn-bd: var(--red-hover)}.cap:hover,.work__tile:hover{background:var(--surface-hover)}.btn--ghost:hover{--btn-bd: var(--rule-hover)}}@supports (field-sizing: content){.field textarea{field-sizing:content;max-height:18rem}}@supports (transition-behavior: allow-discrete){.palette{opacity:0;translate:0 -8px;transition:opacity var(--dur-base) var(--ease-out),translate var(--dur-base) var(--ease-out),overlay var(--dur-base) allow-discrete,display var(--dur-base) allow-discrete}.palette[open]{opacity:1;translate:0 0}@starting-style{.palette[open]{opacity:0;translate:0 -8px}}}@supports (animation-timeline: view()){[data-reveal]{opacity:1;transform:none;transition:none;animation:vx-rise linear both;animation-timeline:view();animation-range:entry 4% cover 26%}.caps>*,.work>*,.phases>*{opacity:1;transform:none;transition:none;animation:vx-rise linear both;animation-timeline:view();animation-range:entry calc(2% + var(--i, 0) * 4%) cover calc(20% + var(--i, 0) * 4%)}@keyframes vx-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.section:not(.section--flush):before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,var(--red) 0%,color-mix(in oklab,var(--vexil-red) 40%,transparent) 45%,transparent 100%);transform:scaleX(0);transform-origin:left;pointer-events:none;animation:vx-draw linear both;animation-timeline:view();animation-range:entry 0% entry 85%}@keyframes vx-draw{to{transform:scaleX(1)}}.section-head__meta{animation:vx-head linear both;animation-timeline:view();animation-range:entry 0% entry 70%}@keyframes vx-head{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}@supports (animation-timeline: scroll()){.nav{animation:vx-nav linear both;animation-timeline:scroll(root block);animation-range:0 90px}@keyframes vx-nav{0%{background-color:#0000;border-bottom-color:#7c838b00}to{background-color:#000000db;border-bottom-color:var(--rule)}}.nav.is-stuck{background:none}.hero__mark{animation:vx-drift linear both;animation-timeline:scroll(root block);animation-range:0 70vh;will-change:transform}@keyframes vx-drift{to{transform:translate3d(0,-26px,0)}}}@media(prefers-reduced-motion:reduce){[data-reveal],.caps>*,.work>*,.phases>*,.section-head__meta,.hero__mark,.nav,.section:not(.section--flush):before{animation:none;opacity:1;transform:none}.section:not(.section--flush):before{display:none}.nav.is-stuck{background:#000000db}.palette{opacity:1;translate:none;transition:none}}
