.vp-section{position:relative;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;background-color:var(--accent);background-image:linear-gradient(150deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 80%,#0b1b4d) 100%);justify-content:center;min-height:100svh;padding-top:calc(var(--vp-header-h) + .75rem);padding-bottom:max(calc(var(--vp-header-h) + .75rem),calc(var(--mobile-nav-h, 0px) + .75rem));color:#fafafa;font-family:var(--sans);width:100vw;margin-left:calc(-50vw + 50%);--vp-header-h: calc(3.5rem + 1px) ;scroll-margin-top:0}@media(min-width:768px){.vp-section{--vp-header-h: calc(4rem + 1px) }}.vp-content-container{display:flex;width:100%;flex-direction:column;align-items:flex-start}@media(min-width:1024px),(min-width:768px)and (min-aspect-ratio:5/4){.vp-content-container{--vp-title-w: 50cqi;--vp-inset: 2cqi;--vp-copy-size: calc(var(--vp-title-w) * .036);container-type:inline-size;flex-direction:row;justify-content:space-between;align-items:stretch;width:100%;padding-inline:var(--page-gutter)}}.vp-main-text{flex:1 1 0%;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin-bottom:56px;padding-left:16px;padding-right:16px}@media(min-width:1024px),(min-width:768px)and (min-aspect-ratio:5/4){.vp-main-text{flex:0 0 var(--vp-title-w);margin-left:var(--vp-inset);align-self:auto;justify-content:flex-start;margin-bottom:0;padding-left:0;padding-right:0}}.vp-title-container{margin:0;width:100%;max-width:100%;display:flex;flex-direction:column;gap:calc(var(--vp-type) * .2);container-type:inline-size;--vp-type: calc(100cqi / 7.57);--vp-cap: .73;--vp-asc: 1.01;--vp-desc: .24;--vp-pill: .95;--vp-lh: var(--vp-pill)}.vp-row:first-child{margin-top:calc(var(--vp-type) * min((var(--vp-lh) - var(--vp-asc) - var(--vp-desc)) / 2 + var(--vp-asc) - var(--vp-cap),(var(--vp-lh) - var(--vp-pill)) / 2) * -1)}.vp-row:last-child{margin-bottom:calc(var(--vp-type) * ((var(--vp-lh) - var(--vp-asc) - var(--vp-desc)) / 2 + var(--vp-desc)) * -1)}.vp-row{display:flex;align-self:stretch;flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:calc(var(--vp-type) * .5)}.vp-row:last-child{gap:calc(var(--vp-type) * .2)}.vp-word{flex-shrink:0;font-size:var(--vp-type);font-weight:700;line-height:var(--vp-lh);letter-spacing:-.03em;text-transform:uppercase;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;color:#fafafa}.vp-amp{margin-left:.28em}.vp-video{display:block;flex:1;min-width:0;font-size:var(--vp-type);height:calc(var(--vp-pill) * 1em);overflow:hidden;border-radius:.14em;position:relative;background:#000}.vp-video video{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%}.vp-secondary-text{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:16px;padding-right:16px;color:#fafafa}@media(min-width:1024px),(min-width:768px)and (min-aspect-ratio:5/4){.vp-secondary-text{flex:1 1 0%;min-width:0;width:auto;padding:0;margin-left:11cqi;margin-right:var(--vp-inset);align-self:stretch;justify-content:space-between}}.vp-rich-text{margin-bottom:48px;display:flex;flex-direction:column;gap:16px;font-size:20px;font-weight:700;line-height:26px;color:#fafafa}@media(min-width:1024px),(min-width:768px)and (min-aspect-ratio:5/4){.vp-rich-text{flex:1 1 auto;justify-content:space-between;gap:.6em;margin-bottom:1em;font-size:var(--vp-copy-size);line-height:1.2}}.vp-rich-text p{margin:0;font:inherit;color:inherit;text-align:justify;hyphens:auto;-webkit-hyphens:auto}@media(max-width:480px){.vp-rich-text p{text-align:left}}@media(min-width:1024px),(min-width:768px)and (min-aspect-ratio:5/4){.vp-rich-text p:first-child{margin-top:calc((1lh - 1.25em)/-2 - .29em)}}.vp-button-container{width:100%}@media(min-width:768px){.vp-button-container{width:auto}}.vp-button{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;padding:12px 32px;border:1.5px solid rgb(250 250 250);border-radius:9999px;font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fafafa;background:transparent;cursor:pointer;transition:background-color .3s,color .3s}.vp-button:hover{background-color:#fafafa;color:var(--accent)}@media(max-width:767px)and (max-height:700px){.vp-main-text{margin-bottom:2rem}.vp-rich-text{gap:.6rem;margin-bottom:.75rem;font-size:16px;line-height:20px}.vp-button{padding:10px 26px}}.vp-point-icon{display:none}@media(max-width:767px),(max-width:1023px)and (max-aspect-ratio:5/4){.vp-main-text{margin-bottom:3.75rem}.vp-rich-text{gap:.5rem;margin-bottom:1rem;font-size:14.5px;font-weight:600;line-height:1.45}.vp-rich-text p.vp-point{display:flex;align-items:center;gap:.85rem;padding:.7rem .95rem .7rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:#ffffff1a;box-shadow:inset 0 1px #fff3,0 10px 24px -16px #00000073;text-align:left;hyphens:manual;-webkit-hyphens:manual}.vp-point-icon{display:grid;flex:0 0 auto;place-items:center;width:2.4rem;height:2.4rem;border-radius:12px;background:#fff;color:var(--accent);box-shadow:0 6px 14px -8px #00000080}.vp-point-icon svg{width:1.2rem;height:1.2rem}.vp-rich-text p.vp-ask{margin-top:.5rem;font-size:1.15em;font-weight:700;text-align:left}.vp-button-container{width:auto}.vp-button{padding:11px 26px;font-size:13px;border-color:#fff;background:#fff;color:var(--accent);box-shadow:0 14px 30px -14px #0000008c}.vp-button:hover{background:#ffffffe6}}@media(max-width:767px)and (max-height:700px){.vp-main-text{margin-bottom:2.6rem}.vp-rich-text{gap:.45rem;margin-bottom:.9rem;font-size:14.5px;line-height:1.4}.vp-rich-text p.vp-point{padding:.6rem .85rem .6rem .65rem}.vp-point-icon{width:2.1rem;height:2.1rem}.vp-button{padding:10px 22px}}.home-page{--home-gap: clamp(6rem, 10vw, 10rem);display:flex;flex-direction:column;gap:var(--home-gap);padding-bottom:4rem}.home-first-screen+.vp-section{margin-top:calc(var(--home-gap) * -1)}.home-first-screen{display:flex;flex-direction:column;gap:3.4rem;background:var(--paper)}.home-hero{--hero-nav-h: 3.5rem;--hero-panel: var(--paper);--hero-ink: var(--ink);--hero-ink-strong: var(--ink);--hero-copy: var(--ink-soft);--hero-muted: var(--ink-muted);--hero-rule: var(--rule);position:relative;display:flex;flex-direction:column;gap:.2rem;min-height:calc(100svh - var(--hero-nav-h, 3.5rem));padding:0 1.25rem;background:var(--hero-panel);box-shadow:0 0 0 100vmax var(--hero-panel);clip-path:inset(0 -100vmax);color:var(--hero-ink);overflow:hidden}@media(min-width:768px){.home-hero{--hero-nav-h: 4rem}}.hero-split{--hero-light: var(--hero-panel);--portrait-w: clamp(240px, 26vw, 400px);--hero-hover-zone: 38%;--hero-ease: cubic-bezier(.16, 1, .3, 1);--portrait-shift: clamp(3.5rem, 8vw, 6.75rem);--hero-lean: 0;position:relative;order:2;flex:1 1 auto;min-height:clamp(300px,46svh,560px);background:var(--hero-panel);overflow:hidden}.hero-split:after{content:"";position:absolute;right:-100vmax;bottom:0;left:-100vmax;z-index:2;height:1px;background:var(--hero-rule)}.hero-split-half{position:absolute;top:0;bottom:0;z-index:2;display:flex;align-items:flex-end;width:var(--hero-hover-zone);padding:0 clamp(1rem,5.4vw,4.25rem) clamp(1.25rem,4vh,2.75rem);cursor:default}.hero-split-left{left:0;justify-content:flex-start}.hero-split-right{right:0;justify-content:flex-end}.hero-split-text{--hero-text-x: 0;--hero-text-y: 0rem;display:flex;flex-direction:column;gap:.95rem;width:-moz-max-content;width:max-content;max-width:min(34vw,27rem);text-align:left;transform:translate(var(--hero-text-x),var(--hero-text-y));visibility:visible;transition:transform .78s var(--hero-ease),opacity .62s ease,visibility 0s linear 0s;will-change:transform,opacity}.hero-split-word{margin:0;font-family:var(--serif);word-spacing:.1em;font-weight:700;font-size:clamp(1.6rem,3.2vw,2.9rem);letter-spacing:-.02em;line-height:.95;color:var(--hero-ink);transition:color .42s ease,text-shadow .42s ease}.hero-split-word-code{font-family:var(--serif);word-spacing:.1em;font-weight:700;letter-spacing:-.025em;color:var(--hero-ink);transform-origin:left center}.hero-bracket-open{color:inherit;font-weight:600;margin-right:.03em}.hero-bracket-close{color:inherit;font-weight:600;margin-left:.03em}.hero-split-copy{margin:0;transition:color .42s ease,opacity .42s ease}.hero-split-left .hero-split-copy{max-width:100%;font-family:var(--sans);font-size:clamp(1rem,1.55vw,1.18rem);font-weight:400;line-height:1.52;color:var(--hero-copy);text-align:right}.hero-split-left .hero-split-word{text-align:right;color:var(--hero-ink);transform-origin:right center}.hero-split-right .hero-split-copy{max-width:100%;font-family:var(--sans);font-size:clamp(1rem,1.55vw,1.18rem);font-weight:400;line-height:1.52;color:var(--hero-copy);text-align:left}.hero-split-do{display:grid;gap:.12em}.hero-split-left .hero-split-do{justify-items:end}.hero-split-right .hero-split-do{justify-items:start}.hero-split-left .hero-split-text{width:100%}.hero-split-do .rotating-word{margin-left:0;font-size:1.34em;line-height:1.25}.hero-split[data-hero-side=left] .hero-split-left .hero-split-text{--hero-text-x: -.85rem;--hero-text-y: -6.5rem}.hero-split[data-hero-side=right] .hero-split-right .hero-split-text{--hero-text-x: .85rem;--hero-text-y: -6.5rem}.hero-split[data-hero-side=left] .hero-split-left .hero-split-word,.hero-split[data-hero-side=right] .hero-split-right .hero-split-word{color:var(--hero-ink-strong);text-shadow:0 18px 42px rgba(var(--ink-rgb),.12)}.hero-split[data-hero-side=left] .hero-split-right .hero-split-text,.hero-split[data-hero-side=right] .hero-split-left .hero-split-text{opacity:0;visibility:hidden;transition:transform .68s var(--hero-ease),opacity .48s ease,visibility 0s linear .48s}.hero-split[data-hero-side=left] .hero-split-right .hero-split-text{transform:translate3d(2.75rem,var(--hero-text-y),0) scale(.98)}.hero-split[data-hero-side=right] .hero-split-left .hero-split-text{transform:translate3d(-2.75rem,var(--hero-text-y),0) scale(.98)}.hero-hint{position:absolute;top:clamp(.5rem,2vh,1.25rem);left:50%;z-index:2;margin:0;transform:translate(-50%);font-family:var(--mono);font-family:var(--sans);font-size:.54rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(var(--ink-rgb),.36);white-space:nowrap;pointer-events:none;transition:opacity .5s ease}.hero-hint em{font-style:normal;color:rgba(var(--accent-rgb),.55)}.hero-split[data-hero-side=left] .hero-hint,.hero-split[data-hero-side=right] .hero-hint{opacity:0}.hero-cards{position:absolute;z-index:1;display:grid;align-items:end;font-family:var(--mono);color:rgba(var(--ink-rgb),.5);pointer-events:none}.hero-mini{--mini-w: clamp(9rem, 16.5vw, 13rem);--mini-t: 27s;bottom:clamp(10rem,20vh,13.5rem);width:var(--mini-w);font-size:max(calc(var(--mini-w) / 20),5px);transition:opacity .35s ease}.hero-mini-data{left:calc(var(--hero-hover-zone) / 2 - var(--mini-w) / 2)}.hero-mini-code{right:calc(var(--hero-hover-zone) / 2 - var(--mini-w) / 2);--mini-offset: -4.5s}.hero-split:not([data-hero-side=neutral]) .hero-mini{opacity:0}.hero-split:not([data-hero-side=neutral]) .hero-mini *{animation-play-state:paused}.hero-big{--mini-t: 36s;--big-w: min(21rem, 28vw);bottom:2rem;width:var(--big-w);font-size:max(calc(var(--big-w) / 30),5px);opacity:0;translate:calc(var(--hero-lean, 0) * 1.1rem) 0;transition:opacity .4s ease}.hero-big-data{left:calc(var(--hero-hover-zone) / 2 - var(--big-w) / 2)}.hero-big-code{right:calc(var(--hero-hover-zone) / 2 - var(--big-w) / 2)}.hero-split[data-hero-side=left] .hero-big-data,.hero-split[data-hero-side=right] .hero-big-code{opacity:1}.hero-mini-body{--mini-delay: calc(var(--mini-offset, 0s) + var(--mini-shift, 0s));grid-area:1 / 1;display:grid;gap:.75em}.hero-mini-b{--mini-shift: calc(var(--mini-t) / 3)}.hero-mini-c{--mini-shift: calc(var(--mini-t) * 2 / 3)}.hero-cards p{margin:0;font-family:inherit;line-height:1.35}.hero-mini-head{display:flex;align-items:center;justify-content:space-between;gap:1em;padding-bottom:.6em;border-bottom:1px solid rgba(var(--ink-rgb),.1);font-size:.9em;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--ink-rgb),.5)}.hero-mini-head span{color:var(--ink-soft);display:inline-flex;align-items:center;gap:.55em;white-space:nowrap}.hero-mini-head b{font-weight:500;letter-spacing:.06em;text-transform:none;white-space:nowrap;color:var(--accent-strong);transform-origin:right center}.hero-mini-live{width:.5em;height:.5em;border-radius:50%;background:rgba(var(--accent-rgb),.85);box-shadow:0 0 0 .25em rgba(var(--accent-rgb),.16)}.hero-mini-lights{display:inline-flex;gap:.35em}.hero-mini-lights i{width:.55em;height:.55em;border-radius:50%;background:rgba(var(--ink-rgb),.16)}.hero-mini-lights i:last-child{background:rgba(var(--accent-rgb),.5)}.hero-mini-chart{display:block;width:100%;height:auto;overflow:visible}.hero-mini-grid{fill:none;stroke:rgba(var(--ink-rgb),.08);stroke-width:1}.hero-mini-area{fill:rgba(var(--accent-rgb),.1)}.hero-mini-series{fill:none;stroke:rgba(var(--ink-rgb),.55);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420}.hero-mini-points circle{fill:var(--hero-panel);stroke:rgba(var(--accent-rgb),.6);stroke-width:1.3}.hero-mini-forecast{fill:none;stroke:rgba(var(--accent-rgb),.55);stroke-width:2;stroke-linecap:round;stroke-dasharray:2 7}.hero-mini-dot{fill:var(--hero-panel);stroke:rgba(var(--accent-rgb),.65);stroke-width:1.4;transform-box:fill-box;transform-origin:center}.hero-mini-axis{display:flex;justify-content:space-between;margin-top:-.35em;font-size:.8em;letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--ink-rgb),.34)}.hero-mini-heat{display:grid;gap:.28em;-webkit-mask:linear-gradient(90deg,#000 40%,transparent 60%) no-repeat 0 0 / 250% 100%;mask:linear-gradient(90deg,#000 40%,transparent 60%) no-repeat 0 0 / 250% 100%}.hero-mini-heat-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.28em}.hero-mini-heat-row i{display:block;height:1.2em;border-radius:.22em;background:rgba(var(--accent-rgb),calc(.14 + var(--v, .5) * .55))}.hero-mini-axis-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.28em;margin-top:-.35em;text-align:center}.hero-mini-editor{display:grid;gap:.3em}.hero-mini-code-line{display:flex;gap:1em;width:-moz-max-content;width:max-content;white-space:pre;font-size:1em;font-weight:600;letter-spacing:-.02em;color:rgba(var(--ink-rgb),.62)}.hero-mini-code-line i,.hero-mini-term i{font-style:normal}.hero-mini-ln{flex:0 0 auto;min-width:1.1em;text-align:right;font-weight:500;color:rgba(var(--ink-rgb),.26)}.hero-mini-terminal{display:grid;gap:.3em;padding-top:.7em;border-top:1px solid rgba(var(--ink-rgb),.12)}.hero-mini-term{white-space:pre;font-size:.92em;color:rgba(var(--ink-rgb),.5)}.hero-mini-prompt{margin-right:.45em;color:rgba(var(--accent-rgb),.65)}.hero-mini-ok{margin-right:.45em;color:#16a34abf}.hero-mini-caret{display:inline-block;width:.5em;height:.95em;margin-left:.3em;vertical-align:-.12em;background:rgba(var(--accent-rgb),.55)}.hero-mini-response{display:flex;align-items:center;gap:.7em;padding-top:.7em;border-top:1px solid rgba(var(--ink-rgb),.12);font-size:.92em;color:rgba(var(--ink-rgb),.5)}.hero-mini-status{padding:.1em .55em;border-radius:999px;background:#16a34a24;font-weight:600;color:#16a34af2}.hero-mini-response em{margin-left:auto;font-style:normal;color:rgba(var(--ink-rgb),.4)}.hero-mini-ab{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6em .8em}.hero-mini-ab p{font-size:.9em;letter-spacing:.08em;text-transform:uppercase;color:rgba(var(--ink-rgb),.5)}.hero-mini-ab .hero-mini-ab-value{letter-spacing:.02em;text-align:right;color:rgba(var(--ink-rgb),.66)}.hero-mini-ab-track{height:.6em;border-radius:999px;background:rgba(var(--ink-rgb),.08);overflow:hidden}.hero-mini-ab-bar{display:block;height:100%;border-radius:999px;background:rgba(var(--ink-rgb),.32);transform-origin:left center}.hero-mini-ab-2{background:rgba(var(--accent-rgb),.65)}.hero-mini-ab-foot{display:flex;align-items:center;gap:.9em}.hero-mini-ci{display:block;flex:1;min-width:0;height:auto;overflow:visible}.hero-mini-ci-axis{fill:none;stroke:rgba(var(--ink-rgb),.12);stroke-width:1}.hero-mini-ci-whisker{fill:none;stroke:rgba(var(--ink-rgb),.5);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420}.hero-mini-ci-dot{fill:var(--hero-panel);stroke:rgba(var(--accent-rgb),.75);stroke-width:1.6;transform-box:fill-box;transform-origin:center}.hero-mini-lift{flex:0 0 auto;padding:.15em .65em;border-radius:999px;background:rgba(var(--accent-rgb),.13);font-size:.9em;font-weight:500;letter-spacing:.04em;color:var(--accent-strong);transform-origin:right center}.hero-mini-swatches{display:flex;align-items:center;gap:1em;padding-top:.7em;border-top:1px solid rgba(var(--ink-rgb),.12);font-size:.92em;color:var(--ink-soft)}.hero-mini-swatches span{display:inline-flex;align-items:center;gap:.45em}.hero-mini-swatches .hero-mini-caret{margin-left:auto}.hero-mini-swatch{display:block;width:.85em;height:.85em;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.2)}.hero-mini-swatch.is-ink{background:var(--ink)}.hero-mini-swatch.is-accent{background:var(--accent)}.hero-mini-swatch.is-paper{background:var(--paper)}.hero-big-kpis{display:flex;justify-content:space-between;gap:1em;font-size:.9em;letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--ink-rgb),.5)}.hero-big-kpis em{margin-right:.35em;font-family:var(--serif-italic);font-style:italic;letter-spacing:0;text-transform:none;color:rgba(var(--accent-rgb),.7)}.hero-big-prev{fill:none;stroke:rgba(var(--ink-rgb),.24);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:4 5}.hero-big-chart-label{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;fill:rgba(var(--ink-rgb),.4)}.hero-big-heat{display:grid;gap:.28em;-webkit-mask:linear-gradient(90deg,#000 40%,transparent 60%) no-repeat 0 0 / 250% 100%;mask:linear-gradient(90deg,#000 40%,transparent 60%) no-repeat 0 0 / 250% 100%}.hero-big-heat-row{display:grid;grid-template-columns:repeat(8,1fr);gap:.28em}.hero-big-heat-row i{display:grid;place-items:center;height:1.5em;border-radius:.22em;background:rgba(var(--accent-rgb),calc(.14 + var(--v, .5) * .55));font-size:.78em;font-style:normal;font-weight:500;color:rgba(var(--ink-rgb),.8)}.hero-big-axis-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.28em;margin-top:-.35em;text-align:center}.hero-big-legend{display:flex;align-items:center;gap:.7em;font-size:.8em;letter-spacing:.1em;color:rgba(var(--ink-rgb),.4)}.hero-big-scale{flex:1;height:.5em;border-radius:999px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.72))}.hero-big-dist{display:block;width:100%;height:auto;overflow:visible}.hero-big-dist-axis{fill:none;stroke:rgba(var(--ink-rgb),.14);stroke-width:1}.hero-big-dist-fill{stroke:none}.hero-big-dist-fill.is-control{fill:rgba(var(--ink-rgb),.07)}.hero-big-dist-fill.is-variant{fill:rgba(var(--accent-rgb),.15)}.hero-big-dist-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:420}.hero-big-dist-line.is-control{stroke:rgba(var(--ink-rgb),.45)}.hero-big-dist-line.is-variant{stroke:rgba(var(--accent-rgb),.85)}.hero-big-dist-mean{fill:none;stroke:rgba(var(--ink-rgb),.28);stroke-width:1;stroke-dasharray:2 3}.hero-big-stats{display:flex;justify-content:space-between;gap:.8em;font-size:.9em;letter-spacing:.04em;color:rgba(var(--ink-rgb),.66)}.hero-big-stats em{margin-right:.4em;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--ink-rgb),.38)}.hero-big-stats span:first-child{color:rgba(var(--accent-rgb),.95)}.hero-mini-head .hero-big-tabs{gap:1.1em;letter-spacing:.02em;text-transform:none}.hero-big-tabs em{font-style:normal;color:rgba(var(--ink-rgb),.34)}.hero-big-tabs em.is-active{color:rgba(var(--accent-rgb),.9)}.hero-big-status{display:flex;align-items:center;gap:.7em;font-size:.92em;color:rgba(var(--ink-rgb),.5)}.hero-big-status em{margin-left:auto;font-style:normal;color:rgba(var(--ink-rgb),.4)}@media(prefers-reduced-motion:reduce){.hero-mini-b,.hero-mini-c{display:none}}@media(prefers-reduced-motion:no-preference){:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-body{animation:heroMiniBody var(--mini-t) ease-in-out var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-head,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-kpis{animation:heroMiniHead var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-delta{animation:heroMiniPop var(--mini-t) cubic-bezier(.34,1.56,.64,1) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-series{animation:heroMiniDraw var(--mini-t) cubic-bezier(.22,1,.36,1) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-area,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-points,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-axis,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-prev,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-legend,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-chart-label{animation:heroMiniReveal var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-forecast{animation:heroMiniReveal var(--mini-t) ease var(--mini-delay) infinite backwards,heroDashMarch 1.6s linear infinite}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-dot{animation:heroMiniReveal var(--mini-t) ease var(--mini-delay) infinite backwards,heroDotPulse 2.4s ease-in-out infinite}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-live{animation:heroDotPulse 2.2s ease-in-out infinite}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-heat,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-heat{animation:heroMiniWipe var(--mini-t) cubic-bezier(.4,0,.2,1) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-heat-row i,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-heat-row i{animation:heroMiniBreathe 3.6s ease-in-out calc((var(--r, 0) + var(--c, 0)) * .3s) infinite}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-t1{animation:heroMiniType1 var(--mini-t) steps(28,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-t2{animation:heroMiniType2 var(--mini-t) steps(28,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-t3{animation:heroMiniType3 var(--mini-t) steps(28,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-t1{animation:heroBigType1 var(--mini-t) steps(40,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-t2{animation:heroBigType2 var(--mini-t) steps(40,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-t3{animation:heroBigType3 var(--mini-t) steps(40,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-t4{animation:heroBigType4 var(--mini-t) steps(40,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-t5{animation:heroBigType5 var(--mini-t) steps(40,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-t6{animation:heroBigType6 var(--mini-t) steps(40,end) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-land-1{animation:heroMiniLand1 var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-terminal .hero-mini-land-2,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-stats{animation:heroMiniLand2 var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-land-1{animation:heroBigLand1 var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-terminal .hero-big-land-2{animation:heroBigLand2 var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-caret{animation:hero-caret-blink 1.1s steps(1) infinite}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-ab-1{animation:heroMiniGrowX1 var(--mini-t) cubic-bezier(.22,1,.36,1) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-ab-2{animation:heroMiniGrowX2 var(--mini-t) cubic-bezier(.22,1,.36,1) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-ab .hero-mini-ab-value{animation:heroMiniReveal var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-ci-whisker,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-dist-line{animation:heroMiniDrawLate var(--mini-t) cubic-bezier(.22,1,.36,1) var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-dist-fill,:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-big-dist-mean{animation:heroMiniReveal var(--mini-t) ease var(--mini-delay) infinite backwards}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-ci-dot{animation:heroMiniReveal var(--mini-t) ease var(--mini-delay) infinite backwards,heroDotPulse 2.4s ease-in-out infinite}:where(.hero-mini,.hero-split[data-hero-big=left] .hero-big-data,.hero-split[data-hero-big=right] .hero-big-code) .hero-mini-lift{animation:heroMiniPop var(--mini-t) cubic-bezier(.34,1.56,.64,1) var(--mini-delay) infinite backwards}}@keyframes heroMiniBody{0%,1%{opacity:0;transform:translate3d(0,.6em,0)}3%,28.7%{opacity:1;transform:translateZ(0)}31.3%,to{opacity:0;transform:translate3d(0,-.4em,0)}}@keyframes heroMiniHead{0%,2%{opacity:0}4%,to{opacity:1}}@keyframes heroMiniDraw{0%,3%{stroke-dashoffset:420}10%,to{stroke-dashoffset:0}}@keyframes heroMiniDrawLate{0%,9%{stroke-dashoffset:420}14%,to{stroke-dashoffset:0}}@keyframes heroMiniReveal{0%,8.7%{opacity:0}12%,to{opacity:1}}@keyframes heroMiniPop{0%,11.3%{opacity:0;transform:scale(.6)}14%,to{opacity:1;transform:scale(1)}}@keyframes heroMiniWipe{0%,3.3%{-webkit-mask-position:100% 0;mask-position:100% 0}11.3%,to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes heroMiniBreathe{0%,to{opacity:1}50%{opacity:.62}}@keyframes heroMiniType1{0%,3.3%{clip-path:inset(0 100% 0 0)}6.7%,to{clip-path:inset(0 0 0 0)}}@keyframes heroMiniType2{0%,6.7%{clip-path:inset(0 100% 0 0)}10%,to{clip-path:inset(0 0 0 0)}}@keyframes heroMiniType3{0%,10%{clip-path:inset(0 100% 0 0)}13.3%,to{clip-path:inset(0 0 0 0)}}@keyframes heroMiniLand1{0%,14.7%{opacity:0;transform:translateY(.3em)}17.3%,to{opacity:1;transform:none}}@keyframes heroMiniLand2{0%,18.7%{opacity:0;transform:translateY(.3em)}21.3%,to{opacity:1;transform:none}}@keyframes heroMiniGrowX1{0%,3.3%{transform:scaleX(0)}8%,to{transform:scaleX(1)}}@keyframes heroMiniGrowX2{0%,5.5%{transform:scaleX(0)}10.5%,to{transform:scaleX(1)}}@keyframes heroBigType1{0%,3%{clip-path:inset(0 100% 0 0)}5.5%,to{clip-path:inset(0 0 0 0)}}@keyframes heroBigType2{0%,5.5%{clip-path:inset(0 100% 0 0)}8%,to{clip-path:inset(0 0 0 0)}}@keyframes heroBigType3{0%,8%{clip-path:inset(0 100% 0 0)}10.5%,to{clip-path:inset(0 0 0 0)}}@keyframes heroBigType4{0%,10.5%{clip-path:inset(0 100% 0 0)}13%,to{clip-path:inset(0 0 0 0)}}@keyframes heroBigType5{0%,13%{clip-path:inset(0 100% 0 0)}15.5%,to{clip-path:inset(0 0 0 0)}}@keyframes heroBigType6{0%,15.5%{clip-path:inset(0 100% 0 0)}18%,to{clip-path:inset(0 0 0 0)}}@keyframes heroBigLand1{0%,18.5%{opacity:0;transform:translateY(.3em)}20.5%,to{opacity:1;transform:none}}@keyframes heroBigLand2{0%,21%{opacity:0;transform:translateY(.3em)}23%,to{opacity:1;transform:none}}@media(max-width:1100px){.hero-mini{--mini-w: clamp(8rem, 18vw, 11rem)}.hero-big{--big-w: min(18rem, 30vw)}}@media(min-width:1101px)and (max-height:820px){.hero-mini{--mini-w: clamp(8rem, 13.5vw, 11rem)}.hero-big{--big-w: min(19rem, 28vw)}}@media(max-width:900px){.hero-mini{--mini-w: clamp(4.6rem, 21vw, 7.5rem);bottom:1rem}.hero-mini-data{left:clamp(.2rem,1.8vw,.75rem)}.hero-mini-code{right:clamp(.2rem,1.8vw,.75rem)}.hero-big{--big-w: clamp(9rem, 30vw, 14rem);bottom:3rem;translate:none}}@media(max-width:560px){.hero-mini{--mini-w: clamp(6.5rem, 33vw, 9rem);bottom:calc(var(--portrait-w) * .44)}.hero-mini .hero-mini-head b,.hero-mini .hero-mini-axis,.hero-mini .hero-mini-ln,.hero-mini .hero-mini-lift{display:none}.hero-big{--big-w: clamp(8rem, 37vw, 10.5rem);bottom:calc(var(--portrait-w) * .44);font-size:max(calc(var(--big-w) / 24),5px)}.hero-big-data{left:.2rem}.hero-big-code{right:.2rem}}.tk-kw{color:var(--accent-strong)}.tk-fn{color:rgba(var(--ink-rgb),.76)}.tk-str{color:var(--accent-strong);font-style:italic}@keyframes hero-caret-blink{50%{opacity:0}}.hero-portrait{position:absolute;left:50%;bottom:0;z-index:1;display:block;height:clamp(280px,64svh,620px);width:auto;aspect-ratio:2334 / 3326;margin:0 auto;transform:translate3d(-50%,0,0);translate:calc(var(--hero-lean, 0) * var(--portrait-shift) * -1) 0;transition:filter 1.2s ease;will-change:translate,filter;pointer-events:none;--portrait-cut: radial-gradient(ellipse 70% 10% at 50% 107%, rgba(0, 0, 0, 0) 94%, #000 100%)}.hero-split[data-hero-side=left] .hero-portrait,.hero-split[data-hero-side=right] .hero-portrait{filter:drop-shadow(0 24px 40px rgba(var(--ink-rgb),.12))}.hero-portrait-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:bottom center;object-position:bottom center;-webkit-mask-image:var(--portrait-cut);mask-image:var(--portrait-cut)}.hero-portrait-img.is-left{z-index:1;filter:saturate(1.03) contrast(1.02)}.hero-status-row{order:0;display:flex;justify-content:center;padding-top:clamp(1.25rem,4vh,2.75rem)}.hero-under{order:1;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding-top:.55rem;text-align:center}.home-hero-status{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.3rem .7rem .3rem .55rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper-warm);font-size:.74rem;font-weight:500;color:var(--ink-soft)}.home-hero-status-dot{width:.5rem;height:.5rem;border-radius:999px;background:#16a34a;box-shadow:0 0 0 3px #16a34a2e}.home-hero-name{font-size:clamp(2.3rem,6.4vw,5.4rem);font-weight:600;letter-spacing:-.04em;line-height:.95;text-wrap:balance;color:var(--hero-ink)}.home-hero-role{margin:0;font-size:clamp(.95rem,1.2vw,1.08rem);font-weight:600;color:var(--accent)}.home-hero-rotator{margin:0;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:500;color:var(--ink)}.home-hero-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;margin-top:.3rem}.home-hero-primary-cta,.home-hero-secondary-cta{min-height:2.6rem;padding:0 1.25rem}.home-hero-secondary-cta.btn{background:transparent}.home-stats-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-block:-2.75rem;background:var(--paper)}.home-stats-strip article{position:relative;display:grid;gap:.4rem;align-content:start;padding:1.1rem 1.15rem 1.05rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.home-stats-strip article:hover{border-color:var(--rule-heavy);box-shadow:var(--shadow-md)}.home-stats-strip strong{font-family:var(--serif);word-spacing:.1em;font-size:clamp(1.7rem,2.8vw,2.25rem);font-weight:700;line-height:1;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums}.home-stats-strip .home-stats-role strong{font-size:clamp(1.15rem,1.6vw,1.35rem);letter-spacing:-.02em;line-height:1.15;padding-top:.2rem}.home-stats-strip article>span{max-width:15rem;font-size:.8rem;line-height:1.45;color:var(--ink-muted)}.home-stats-meta{position:absolute;top:.8rem;right:.8rem;display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.home-stats-meta .tag{padding:.28rem .45rem;font-size:.58rem;letter-spacing:.08em;border-color:rgba(var(--accent-rgb),.3);background:var(--accent-soft);color:var(--accent)}.home-github-card{--github-cell: clamp(12px, 1.08vw, 15px);--github-gap: clamp(3px, .28vw, 4px);--github-empty: rgba(var(--ink-rgb), .06);--github-level-1: rgba(var(--accent-rgb), .28);--github-level-2: rgba(var(--accent-rgb), .5);--github-level-3: rgba(var(--accent-rgb), .74);--github-level-4: var(--accent);--github-text: var(--ink);--github-muted: var(--ink-muted);--github-border: var(--rule);--github-bg: var(--paper-warm);border:1px solid var(--github-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);background:var(--github-bg);color:var(--github-text);width:100%;max-width:100%;overflow:hidden}.home-github-main{display:block;padding:.95rem 1.05rem 1rem}.home-github-graph-panel{min-width:0}.home-github-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2rem;margin-bottom:.45rem}.home-github-heading-copy{display:grid;gap:.1rem;min-width:0}.home-github-summary h3{margin:0;font-family:var(--sans);font-size:1rem;font-weight:400;line-height:1.5;color:var(--github-text)}.home-github-summary p{margin:0;font-size:.72rem;color:var(--github-muted);white-space:nowrap}.home-github-years{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.home-github-year{width:auto;min-height:1.75rem;border:0;border-radius:6px;background:transparent;padding:0 .65rem;font-family:var(--sans);font-size:.88rem;font-weight:500;line-height:1;text-align:left;color:var(--github-text)}.home-github-year:hover,.home-github-year:focus-visible{background:rgba(var(--ink-rgb),.06);color:var(--github-text)}.home-github-year[data-active=true]{background:var(--ink);color:var(--paper)}.home-github-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;cursor:grab;scrollbar-width:none;touch-action:pan-x;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 .35rem}.home-github-scroll::-webkit-scrollbar{display:none}.home-github-scroll.is-dragging{cursor:grabbing}.home-github-loading{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:9.5rem;border:1px solid var(--rule);border-radius:14px;background:rgba(var(--ink-rgb),.03);font-size:.82rem;color:var(--github-muted)}.home-github-loading-mark{width:.65rem;height:.65rem;border-radius:999px;background:var(--github-level-3);animation:github-loading-pulse .9s ease-in-out infinite alternate}@keyframes github-loading-pulse{0%{opacity:.35;transform:scale(.84)}to{opacity:1;transform:scale(1)}}.home-github-calendar{display:grid;grid-template-columns:32px max-content;grid-template-rows:18px max-content;width:-moz-max-content;width:max-content;margin-inline:auto}.home-github-months{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(var(--github-week-count),var(--github-cell));-moz-column-gap:var(--github-gap);column-gap:var(--github-gap);min-width:100%;font-size:.58rem;line-height:1;color:var(--github-muted)}.home-github-months span{min-width:0;white-space:nowrap}.home-github-weekdays{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(7,var(--github-cell));row-gap:var(--github-gap);padding-right:.45rem;font-size:.68rem;line-height:var(--github-cell);color:var(--github-muted);text-align:right}.home-github-grid{position:relative;grid-column:2;grid-row:2;display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,var(--github-cell));grid-auto-columns:var(--github-cell);gap:var(--github-gap);width:-moz-max-content;width:max-content;min-width:100%}.home-github-day{width:var(--github-cell);height:var(--github-cell);border:1px solid rgba(var(--ink-rgb),.04);border-radius:2px;background:var(--github-empty);transition:border-color .2s ease,transform .2s ease,opacity .2s ease}.home-github-day:hover{border-color:rgba(var(--ink-rgb),.35);transform:scale(1.18)}.home-github-day.is-empty,.home-github-day.is-empty:hover{border-color:transparent;background:transparent;transform:none}.home-github-day[data-level="1"],.home-github-legend-cell[data-level="1"]{background:var(--github-level-1)}.home-github-day[data-level="2"],.home-github-legend-cell[data-level="2"]{background:var(--github-level-2)}.home-github-day[data-level="3"],.home-github-legend-cell[data-level="3"]{background:var(--github-level-3)}.home-github-day[data-level="4"],.home-github-legend-cell[data-level="4"]{background:var(--github-level-4)}.home-github-day.is-placeholder{opacity:.55;animation:github-placeholder-pulse 1.2s ease-in-out infinite alternate}@keyframes github-placeholder-pulse{0%{opacity:.32}to{opacity:.72}}.home-github-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.65rem;font-size:.72rem;color:var(--github-muted)}.home-github-footer a{color:var(--github-muted)}.home-github-footer a:hover{color:var(--accent)}.home-github-legend{display:flex;align-items:center;gap:.28rem;white-space:nowrap}.home-github-legend-cell{width:var(--github-cell);height:var(--github-cell);border:1px solid rgba(var(--ink-rgb),.04);border-radius:2px;background:var(--github-empty)}.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.home-section-head h2{margin-top:.4rem;font-size:clamp(1.6rem,2.6vw,2.25rem)}.home-section-text{max-width:40rem;margin:.5rem 0 0;font-size:.98rem;color:var(--ink-soft)}.home-section-cta{flex:0 0 auto}.home-section-head.is-centered{justify-content:center;text-align:center}.home-section-head.is-centered .home-section-text{margin-inline:auto}.home-section-head.is-centered .eyebrow:before{content:"";display:inline-block;width:1.4rem;height:1px;margin-right:.5rem;vertical-align:middle;background:var(--accent)}.home-section-foot{display:flex;justify-content:center;margin-top:1.75rem}.home-works .filter-bar{margin-bottom:1.5rem}.home-about-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2.5rem 3.5rem;align-items:stretch;padding:2.25rem 0 0;border-top:1px solid var(--rule-heavy)}.home-about-copy{display:grid;gap:.9rem}.home-about-copy h2{font-size:clamp(1.7rem,2.8vw,2.4rem);max-width:18ch}.home-about-text{margin:0;max-width:36rem;font-size:1.02rem;line-height:1.7;color:var(--ink-soft)}.home-about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem;margin-top:.4rem}.home-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:.9rem;overflow-x:clip;overflow-clip-margin:10px}.home-value{display:grid;gap:.35rem;align-content:center;padding:1.1rem 1.15rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm)}.home-value h3{font-size:1rem}.home-value p{margin:0;font-size:.86rem;line-height:1.55;color:var(--ink-soft)}.home-tools{display:grid;gap:1.5rem;margin-top:1.5rem;padding:clamp(1.25rem,2.5vw,2rem) 0;color:var(--ink-soft)}.home-tools-label{text-align:center;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.home-tools-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}.home-tools-rows .marquee{min-width:0}.home-tools-rows .marquee{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.home-tools-rows .marquee ul{gap:.6rem;padding:0 .3rem}.home-tools .marquee li{flex-direction:column;justify-content:flex-start;min-width:7.25rem;gap:.55rem;font-size:.68rem;letter-spacing:.02em;text-align:center}.home-tools .marquee li>span{display:block}.home-tools .marquee li:hover .tool-tile-icon,.tool-tile:hover{color:#fff;transform:translateY(-2px)}.tool-tile-icon{display:block;width:2.3rem;height:2.3rem;background:var(--brand, var(--accent));mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat}html.dark .tool-tile-icon{background:var(--brand-dark, var(--brand, var(--accent)))}.home-work-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:3rem;align-items:start}.home-inline-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--ink-soft)}.home-inline-link:hover{color:var(--accent)}.home-empty{margin:0;color:var(--ink-muted)}.home-project-list{display:grid;gap:.9rem}.home-project-card{display:grid;gap:.7rem;padding:1.2rem 1.25rem 1.25rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease}.home-project-card:hover,.home-project-card:focus-visible{transform:translateY(-2px);border-color:var(--rule-heavy);box-shadow:var(--shadow-md)}.home-project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.home-project-heading h3{font-size:1.15rem}.home-project-heading .arrow-icon{flex:0 0 auto;color:var(--ink-muted);transition:transform .22s cubic-bezier(.22,1,.36,1),color .2s ease}.home-project-card:hover .home-project-heading .arrow-icon{transform:translate(2px,-2px);color:var(--accent)}.home-project-summary{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.92rem;color:var(--ink-soft)}.home-project-tags{display:flex;flex-wrap:wrap;gap:.4rem}.home-writing-list{display:grid}.home-writing-list.is-wide{grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:3rem;column-gap:3rem}.home-writing-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;align-items:baseline;padding:.95rem 0;border-bottom:1px solid var(--rule)}.home-writing-row:first-child{padding-top:.25rem}.home-writing-kind{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.home-writing-body{display:grid;gap:.25rem;min-width:0}.home-writing-title{font-size:1.02rem;font-weight:600;letter-spacing:-.015em;line-height:1.35;color:var(--ink);transition:color .2s ease}.home-writing-row:hover .home-writing-title{color:var(--accent)}.home-writing-meta{font-size:.8rem;color:var(--ink-muted)}.home-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.home-profile-list{display:grid}.home-profile-row{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:.9rem;padding:1.1rem 0 1.25rem;border-bottom:1px solid var(--rule)}.home-profile-marker{position:relative;width:9px;height:9px;margin-top:.55rem;border-radius:999px;background:var(--accent)}.home-profile-row:before{content:"";position:absolute;left:4px;top:1.9rem;bottom:.4rem;width:1px;background:var(--rule-heavy)}.home-profile-row:last-child:before{display:none}.home-profile-content{display:grid;gap:.75rem}.home-profile-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.home-profile-row h3,.home-profile-row h4{font-size:1.12rem}.home-profile-org{margin:.3rem 0 0;color:var(--ink-muted)}.home-profile-date,.home-profile-meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.home-profile-date{white-space:nowrap;letter-spacing:.06em}.home-cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.home-cert-card{display:grid;gap:.9rem;align-content:start;min-width:0;overflow-wrap:anywhere;padding:1.35rem 1.4rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease}.home-cert-card:hover{transform:translateY(-2px);border-color:var(--rule-heavy);box-shadow:var(--shadow-md)}.home-cert-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:start}.home-cert-mark{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 .55rem;border-radius:10px;border:1px solid rgba(var(--accent-rgb),.25);background:var(--accent-soft);font-family:var(--mono);font-size:.85rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.home-cert-copy{display:grid;gap:.35rem;min-width:0}.home-cert-card h3{font-size:1.12rem}.home-cert-issuer{margin:0;color:var(--ink-muted)}.home-cert-meta{margin:0;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.home-cert-link{display:inline-flex;align-items:center;gap:.35rem;width:-moz-fit-content;width:fit-content;font-size:.82rem;font-weight:500;line-height:1;color:var(--ink-soft);text-decoration-line:underline;text-decoration-color:var(--rule-heavy);text-decoration-thickness:1px;text-underline-offset:.32rem}.home-cert-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.home-cert-footer{display:flex;justify-content:center;margin-top:1.5rem}.home-contact-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.5rem;align-items:stretch;padding:2.25rem 2rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm);overflow:hidden}.home-contact-copy{display:grid;gap:.9rem}.home-contact-copy h3{font-size:clamp(1.6rem,2.6vw,2.2rem);max-width:22ch}.home-contact-text{max-width:38rem;margin:.2rem 0 0;font-size:1rem;color:var(--ink-soft)}.home-contact-side{display:grid;align-content:center;gap:1.1rem;padding-left:1.5rem;border-left:1px solid var(--rule)}.home-contact-note{margin:0;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.home-contact-link{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:1px solid var(--accent);border-radius:var(--radius-full);background:var(--accent);color:#fff;padding:.85rem 1.3rem;font-size:.9rem;font-weight:600;box-shadow:var(--shadow-sm)}html.dark .home-contact-link{color:#0c0e13}.home-contact-link:hover,.home-contact-link:focus-visible{transform:translateY(-1px);border-color:var(--accent-strong);background:var(--accent-strong);box-shadow:var(--shadow-md)}@media(max-width:1100px){.hero-split{--portrait-w: clamp(315px, 38vw, 425px)}.hero-split-half{padding-inline:clamp(1rem,4vw,3rem)}.hero-split-text{width:-moz-max-content;width:max-content;max-width:min(34vw,25rem)}.hero-split-word{font-size:clamp(2.8rem,5.5vw,4.25rem)}.home-work-grid,.home-about-inner,.home-writing-list.is-wide{grid-template-columns:1fr}.home-profile-grid{gap:1rem}}@media(max-width:900px){.home-hero{gap:.65rem;padding:0 .25rem .55rem}.hero-split{--portrait-w: clamp(205px, 52vw, 305px);--hero-hover-zone: 39%;--portrait-shift: clamp(1.25rem, 5vw, 2.75rem);min-height:clamp(280px,68vw,360px);overflow:hidden}.hero-split-half{position:absolute;top:0;bottom:0;width:var(--hero-hover-zone);padding-inline:clamp(.35rem,2.4vw,1.25rem)}.hero-split-text{gap:.55rem;width:-moz-max-content;width:max-content;max-width:min(30vw,8.5rem);transform:translate(var(--hero-text-x),var(--hero-text-y))}.hero-split-word{font-size:clamp(1.55rem,8.2vw,3rem);letter-spacing:-.075em}.hero-split-left .hero-split-copy,.hero-split-right .hero-split-copy{font-size:clamp(.58rem,2.4vw,.82rem);line-height:1.35}.hero-split[data-hero-side=left] .hero-split-left .hero-split-text{--hero-text-x: -.15rem;--hero-text-y: -6.5rem}.hero-split[data-hero-side=right] .hero-split-right .hero-split-text{--hero-text-x: .15rem;--hero-text-y: -6.5rem}}@media(prefers-reduced-motion:reduce){.hero-split-half,.hero-split-text,.hero-hint,.hero-portrait{transition:none}}@media(max-width:800px){.home-page{--home-gap: 4rem}.home-page>.section-block,.home-page>.home-profile-grid{content-visibility:auto;contain-intrinsic-size:auto 640px}.home-github-card{--github-cell: 10px;--github-gap: 3px}.home-github-main{padding:.85rem .75rem}.home-github-summary h3{font-size:.95rem}.home-github-year{min-height:1.6rem;padding:0 .56rem;font-size:.78rem}.home-github-scroll{padding:0}.home-github-calendar{grid-template-columns:28px max-content;margin-inline:0}.home-github-months,.home-github-weekdays{font-size:.6rem}.home-github-weekdays{padding-right:.34rem}.home-github-loading{min-height:8rem}.home-hero{gap:.35rem;padding-bottom:.5rem}.hero-under{gap:.15rem}.home-hero-name{font-size:clamp(1.6rem,6.5vw,2rem)}.home-hero-status{font-size:.66rem;padding:.28rem .6rem .28rem .5rem}.home-hero-role{font-size:.9rem}.home-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-block:-1.65rem}.home-github-card{width:100%}.home-github-summary{align-items:flex-start;flex-direction:column;gap:.2rem}.home-github-years{justify-content:flex-start}.home-github-footer{align-items:flex-start;flex-direction:column;gap:.65rem}.home-contact-panel{grid-template-columns:1fr}.home-work-grid{gap:2.5rem}.home-section-head{flex-direction:column;align-items:flex-start;gap:.9rem;margin-bottom:1.1rem}.home-section-head h2{font-size:clamp(1.45rem,6.5vw,1.8rem)}.home-section-text{font-size:.9rem}.home-about-inner{gap:1.5rem;padding-top:1.75rem}.home-tools-rows{gap:.5rem}.tool-tile-icon{width:2rem;height:2rem}.home-about-copy h2{font-size:clamp(1.45rem,6.5vw,1.8rem)}.home-about-text{font-size:.92rem}.home-values{gap:.6rem}.home-value{padding:.8rem .85rem}.home-value h3{font-size:.86rem}.home-value p{font-size:.74rem}.home-cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.home-cert-card{gap:.6rem;padding:.9rem .85rem}.home-cert-top{grid-template-columns:1fr;gap:.5rem}.home-cert-marks{justify-content:flex-start}.home-cert-mark{justify-self:start;min-width:32px;height:32px;font-size:.72rem}.home-cert-card h3{font-size:.92rem}.home-cert-card>p{display:none}.home-cert-meta{font-size:.58rem}.home-writing-row{grid-template-columns:1fr;gap:.3rem}.home-profile-head{grid-template-columns:1fr}.home-profile-date{width:-moz-fit-content;width:fit-content}.home-contact-panel{padding:1.5rem 1.25rem}.home-contact-side{padding-left:0;padding-top:1rem;border-left:0;border-top:1px solid var(--rule)}}@media(max-width:560px){.home-github-card{--github-cell: 9px;--github-gap: 2.5px}.home-github-main{padding:.75rem .65rem}.home-github-years{gap:.18rem}.home-github-year{min-height:1.5rem;padding:0 .48rem;font-size:.72rem}.home-github-footer{font-size:.66rem}.home-github-legend-cell{width:9px;height:9px}.hero-split{--portrait-w: clamp(215px, 60vw, 270px);--hero-hover-zone: 40%;min-height:clamp(310px,82vw,400px)}.hero-split-half{padding-inline:.25rem}.hero-split-text{--hero-text-y: -6rem;max-width:40vw}.hero-split-word{font-size:clamp(1.5rem,8.6vw,2.4rem)}.hero-split-left .hero-split-copy,.hero-split-right .hero-split-copy{font-size:clamp(.66rem,3vw,.8rem)}.home-hero-cta{gap:.5rem}.home-hero-primary-cta,.home-hero-secondary-cta{min-height:2.4rem;padding:0 1rem;font-size:.82rem}.home-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.home-stats-strip article{gap:.26rem;padding:.72rem .75rem;border-radius:14px}.home-stats-strip strong{font-size:clamp(1.5rem,8.5vw,1.95rem)}.home-stats-strip article>span{font-size:.66rem;line-height:1.35}.home-stats-meta{top:.58rem;right:.58rem}.home-stats-meta .tag{padding:.22rem .38rem;font-size:.52rem}}@keyframes heroDashMarch{to{stroke-dashoffset:-9}}@keyframes heroDotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}@media(min-width:1101px){.home-first-screen{display:grid;width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);min-height:calc(100svh - 4rem);padding-bottom:clamp(.5rem,1.4vh,1.25rem)}.home-hero{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;min-height:0;padding:0}.hero-status-row{order:0;padding-top:clamp(1rem,4vh,2.5rem);padding-bottom:0}.hero-split{--panel-w: clamp(16rem, 23vw, 27rem);--panel-h: clamp(14rem, 35svh, 23rem);--panel-x: clamp(2rem, 10.8vw, 14rem);--panel-top: 0rem;--panel-pad: clamp(.9rem, 1.2vw, 1.3rem);order:1;min-height:0}.hero-split:after,.hero-hint{display:none}.hero-split-half{top:var(--panel-top);bottom:auto;width:var(--panel-w);height:var(--panel-h);align-items:flex-start;padding:var(--panel-pad)}.hero-split-left{left:var(--panel-x);right:auto}.hero-split-right{right:var(--panel-x);left:auto}.hero-split-text{width:100%;max-width:100%;gap:.7rem}.hero-mini{--mini-w: clamp(8rem, 13vw, 14.5rem);bottom:calc(100% - var(--panel-top) - var(--panel-h) + var(--panel-pad))}.hero-mini-data{left:calc(var(--panel-x) + (var(--panel-w) - var(--mini-w)) / 2)}.hero-mini-code{right:calc(var(--panel-x) + (var(--panel-w) - var(--mini-w)) / 2)}.hero-big{--big-w: clamp(12rem, 18.5vw, 20rem);--big-drop: 3.25rem;bottom:calc(100% - var(--panel-top) - var(--panel-h) + var(--panel-pad) - var(--big-drop))}.hero-big-data{left:calc(var(--panel-x) + (var(--panel-w) - var(--big-w)) / 2)}.hero-big-code{right:calc(var(--panel-x) + (var(--panel-w) - var(--big-w)) / 2)}.hero-split-left .hero-split-text{transform-origin:right top}.hero-split-right .hero-split-text{transform-origin:left top}.hero-split-text{transition:transform .78s var(--hero-ease),scale .5s var(--hero-ease),opacity .62s ease,visibility 0s linear 0s}.hero-split[data-hero-side=left] .hero-split-left .hero-split-text,.hero-split[data-hero-side=right] .hero-split-right .hero-split-text{--hero-text-x: 0;--hero-text-y: 0rem;scale:1.07}.hero-portrait{height:min(clamp(300px,64svh,44rem),calc(100% - 1.5rem))}.hero-under{order:2;gap:.18rem;padding-top:0}.hero-split-word{font-size:clamp(1.6rem,3.2vw,3.75rem)}.home-hero-name{font-size:clamp(1.6rem,2.2vw,2.9rem);letter-spacing:-.03em}.home-hero-role{font-size:1.05rem}.home-hero-rotator,.home-hero-cta{display:none}.home-stats-strip{width:min(60rem,52%);margin-block:0;margin-inline:auto;gap:0;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--cut);overflow:hidden}.home-stats-strip article,.home-stats-strip article:hover{padding:.6rem .8rem;border:0;border-left:1px solid var(--rule);border-radius:0;background:transparent;box-shadow:none}.home-stats-strip article:first-child,.home-stats-strip article:first-child:hover{border-left:0}.home-stats-strip strong{font-size:1.4rem}.home-stats-strip .home-stats-role strong{font-size:1rem}.home-stats-strip article>span{font-size:.62rem;line-height:1.38}.home-stats-meta{top:.55rem;right:.55rem}}@keyframes heroMiniBodyFramed{0%,1%{opacity:0;transform:translate3d(0,.6em,0)}3%,33.3%{opacity:1;transform:translateZ(0)}36.5%,to{opacity:0;transform:translate3d(0,-.4em,0)}}@media(prefers-reduced-motion:no-preference){.hero-mini .hero-mini-body{animation-name:heroMiniBodyFramed}}@media(max-width:767px){:root{--mobile-nav-h: calc(4.8rem + 2px + env(safe-area-inset-bottom, 0px)) }}@media(max-width:1100px){.home-hero{min-height:calc(100svh - var(--hero-nav-h) - var(--mobile-nav-h, 0px));padding-bottom:clamp(.6rem,1.8vh,1.25rem)}.hero-split{--reach: clamp(12rem, 20vw, 15rem);--panel-x: max(.6rem, calc(50% - var(--pw, 20rem) / 2 - var(--reach)));--panel-w: calc(50% - var(--panel-x) - 1.1rem);--panel-top: 0rem;--panel-h: 5.5rem;--panel-pad: 0rem;--panel-gap: .75rem;--portrait-min: 9.5rem;--portrait-max: min(30rem, 62svh);flex:1 1 auto;min-height:calc(var(--panel-h) + var(--panel-gap) + var(--portrait-min))}.hero-split-half{top:var(--panel-top);bottom:auto;width:var(--panel-w);height:var(--panel-h);align-items:flex-start;padding:0}.hero-split-left{left:var(--panel-x);right:auto}.hero-split-right{right:var(--panel-x);left:auto}.hero-split-text{--hero-text-x: 0;--hero-text-y: 0rem;width:100%;max-width:100%;gap:.4rem}.hero-split-word{font-size:clamp(1.35rem,7.4vw,2rem)}.hero-split-left .hero-split-copy,.hero-split-right .hero-split-copy{font-size:.9rem;line-height:1.35}.hero-split-left .hero-split-word,.hero-split-left .hero-split-copy{text-align:left}.hero-split-left .hero-split-do{justify-items:start}.hero-split-right .hero-split-word,.hero-split-right .hero-split-copy{text-align:right}.hero-split-right .hero-split-do{justify-items:end}.hero-cards{top:max(calc(var(--panel-h) + var(--panel-gap)),calc(100% - var(--portrait-max)));bottom:auto;align-items:start}.hero-split{--card-w: min(calc(var(--panel-w) * .84), 8rem, calc((100svh - 30rem)*.4) )}.hero-mini{--mini-w: var(--card-w)}.hero-mini-data,.hero-big-data{left:var(--panel-x)}.hero-mini-code,.hero-big-code{right:var(--panel-x)}.hero-big{--big-w: min(calc(var(--panel-w) * .95), 12rem, calc((100svh - 30rem)*.52) );translate:none}.hero-split-left .hero-split-text{transform-origin:left top}.hero-split-right .hero-split-text{transform-origin:right top}.hero-split-text{transition:transform .78s var(--hero-ease),scale .5s var(--hero-ease),opacity .62s ease,visibility 0s linear 0s}.hero-split[data-hero-side=left] .hero-split-left .hero-split-text,.hero-split[data-hero-side=right] .hero-split-right .hero-split-text{--hero-text-x: 0;--hero-text-y: 0rem;scale:1.06}.hero-split[data-hero-side=left] .hero-split-right .hero-split-text{transform:translate3d(2rem,0,0) scale(.98)}.hero-split[data-hero-side=right] .hero-split-left .hero-split-text{transform:translate3d(-2rem,0,0) scale(.98)}.hero-split:after,.hero-hint{display:none}.hero-portrait{height:clamp(var(--portrait-min),calc(100% - var(--panel-h) - var(--panel-gap)),var(--portrait-max))}.hero-under{order:3;gap:.3rem;padding-top:clamp(.75rem,2.2vh,1.25rem)}.home-hero-rotator{display:none}.home-stats-strip{gap:0;margin-block:0;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--cut-sm);overflow:hidden}.home-stats-strip article,.home-stats-strip article:hover{border:0;border-radius:0;background:transparent;box-shadow:none;border-left:1px solid var(--rule);border-top:1px solid var(--rule)}.home-stats-strip article:nth-child(odd),.home-stats-strip article:nth-child(odd):hover{border-left:0}.home-stats-strip article:nth-child(-n+2),.home-stats-strip article:nth-child(-n+2):hover{border-top:0}}@media(min-width:1101px)and (max-height:780px){.hero-status-row{padding-top:clamp(.4rem,1.4vh,.9rem)}.hero-split{--panel-h: clamp(10rem, 44svh, 15rem)}.hero-under{gap:.1rem}.home-hero-name{font-size:clamp(1.4rem,2vw,2rem)}.home-hero-role{font-size:.95rem}.home-stats-strip article,.home-stats-strip article:hover{padding:.45rem .7rem}.home-stats-strip strong{font-size:1.15rem}.home-stats-strip .home-stats-role strong{font-size:.85rem}.home-stats-strip article>span{font-size:.57rem}}@media(max-width:1100px){.home-hero-role{font-size:1rem}}@media(max-width:767px){.home-hero-role{font-size:1.08rem}}@media(min-width:801px)and (max-width:1100px){.home-hero-name{font-size:clamp(2rem,4vw,2.75rem)}}@media(max-width:767px)and (max-height:620px){.hero-status-row{padding-top:.5rem}.hero-split{--panel-h: 5rem;--panel-gap: .4rem;--portrait-min: 6rem}.hero-split-word{font-size:1.3rem}.hero-under{gap:.15rem;padding-top:.4rem}.home-hero-cta{margin-top:.15rem}.home-hero{padding-bottom:.4rem}}@media(max-width:767px){.hero-big{--big-w: calc(var(--card-w) * 1.12)}}#home-github .home-stats-strip{width:100%;max-width:none;margin:0 0 1.25rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--rule);border-radius:16px;background:var(--paper-warm);box-shadow:0 1px 2px #0000000a,0 10px 24px -12px #00000024,inset 0 1px #ffffffb3;overflow:hidden}#home-github .home-stats-strip article,#home-github .home-stats-strip article:hover{padding:clamp(1rem,1.6vw,1.4rem) clamp(1rem,1.8vw,1.5rem);border:0;border-left:1px solid var(--rule);border-radius:0;box-shadow:none;transform:none;background:transparent}#home-github .home-stats-strip article:hover{background:var(--accent-soft)}#home-github .home-stats-strip article:first-child{border-left:0}#home-github .home-stats-strip strong{font-size:clamp(1.8rem,3vw,2.6rem)}#home-github .home-stats-strip article>span{max-width:16rem;font-size:.9rem;line-height:1.45}#home-github .home-stats-meta{top:.9rem;right:.9rem}@media(max-width:800px){#home-github .home-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}#home-github .home-stats-strip article:nth-child(3){border-left:0}#home-github .home-stats-strip article:nth-child(n+3){border-top:1px solid var(--rule)}}.home-works .filter-bar{justify-content:flex-start;margin-bottom:clamp(1.25rem,2.5vw,2rem);align-items:center}.work-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.2vw,2rem);align-items:stretch}@media(max-width:1100px){.work-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-tools-section .home-tools-rows{gap:clamp(1.5rem,3vw,2.5rem)}.home-tools-section .home-tools-rows .marquee ul{gap:clamp(1rem,2vw,1.75rem)}.home-tools-section .home-tools .marquee li{min-width:clamp(7.5rem,9vw,9.5rem);gap:.75rem;font-size:clamp(.78rem,.85vw,.86rem);font-weight:500}.home-tools-section .tool-tile-icon{width:clamp(2.6rem,3.4vw,3.4rem);height:clamp(2.6rem,3.4vw,3.4rem)}@media(max-width:767px){.home-tools-section .home-tools-rows{gap:1.4rem}.home-tools-section .tool-tile-icon{width:2.5rem;height:2.5rem}.home-tools-section .home-tools .marquee li{font-size:.86rem}}.home-about .home-about-inner{grid-template-columns:clamp(15rem,24vw,22rem) minmax(0,1fr);grid-template-areas:"photo copy" "photo values";gap:clamp(1.25rem,2.2vw,2rem) clamp(1.75rem,3.5vw,3.25rem);align-items:start;padding:0;border-top:0}.home-about .home-about-copy{grid-area:copy}.home-about .home-values{grid-area:values}.home-about-photo{grid-area:photo;position:relative;align-self:stretch;min-height:100%;margin:0;border-radius:22px;overflow:hidden;background:#e9e9e7;box-shadow:0 1px 2px #0000000d,0 14px 30px -14px #0003,0 40px 70px -40px #00000052}.home-about-photo img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 30%;object-position:50% 30%}.home-about-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(160deg,#fff3,#fff0 40%);box-shadow:inset 0 0 0 1px #ffffff73,inset 0 1px #ffffffb3;pointer-events:none}html.dark .home-about-photo:after{box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 1px #fff3}@media(max-width:767px){.home-about .home-about-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "copy" "values"}.home-about-photo{aspect-ratio:4 / 5;min-height:0}}.home-close{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.75rem,4vw,3.75rem);align-items:start;padding:clamp(1.5rem,3.6vw,3.25rem);border-radius:28px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 9%,var(--paper-warm)) 0%,var(--paper-warm) 55%);color:var(--ink);box-shadow:0 1px 2px #0000000d,0 14px 30px -14px #00000029,0 40px 70px -40px #00000042}.home-close:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(160deg,#ffffff59,#fff0 40%);box-shadow:inset 0 0 0 1px var(--rule),inset 0 1px #ffffffb3;pointer-events:none}html.dark .home-close:after{background:linear-gradient(160deg,#ffffff0f,#fff0 40%);box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff24}.home-close-main{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.home-close-status{display:inline-flex;align-items:center;gap:.55rem;margin:0;font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.home-close-dot{width:.55rem;height:.55rem;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px #16a34a29}@media(prefers-reduced-motion:no-preference){.home-close-dot{animation:closeDot 2.4s ease-in-out infinite}}@keyframes closeDot{50%{box-shadow:0 0 0 7px #16a34a0a}}.home-close-title{margin:0;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.3rem,4.6vw,4.3rem);font-weight:900;line-height:.95;letter-spacing:-.04em;color:var(--ink)}.home-close-text{max-width:34rem;margin:0;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.6;color:var(--ink-soft)}.home-close-details{display:grid;margin:.4rem 0 0}.home-close-details>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;align-items:baseline;padding:.8rem 0;border-top:1px solid var(--rule)}.home-close-details dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.home-close-details dd{margin:0;font-size:.98rem;font-weight:500;color:var(--ink);overflow-wrap:anywhere}.home-close-details dd a:hover{color:var(--accent)}.home-close-socials{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.home-close-socials a{display:inline-flex;align-items:center;gap:.25rem}.quick-brief{display:grid;gap:.95rem;padding:clamp(1.25rem,2.4vw,1.9rem);border:1px solid var(--rule);border-radius:20px;background:var(--paper-warm);box-shadow:0 1px 2px #0000000a,0 12px 26px -14px #0000002e}.quick-brief-title{margin:0 0 .2rem;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.015em;color:var(--ink)}.quick-brief-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}.quick-brief-field{display:grid;gap:.4rem}.quick-brief-field>span{font-size:.8rem;font-weight:600;color:var(--ink-soft)}.quick-brief-field input,.quick-brief-field textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--rule-heavy);border-radius:12px;background:var(--paper);font:inherit;font-size:.95rem;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.quick-brief-field textarea{resize:vertical;min-height:7rem}.quick-brief-field input::-moz-placeholder,.quick-brief-field textarea::-moz-placeholder{color:var(--ink-muted)}.quick-brief-field input::placeholder,.quick-brief-field textarea::placeholder{color:var(--ink-muted)}.quick-brief-field input:focus,.quick-brief-field textarea:focus{outline:none;border-color:var(--accent);background:var(--paper-warm);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.15)}.quick-brief-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.25rem;margin-top:.2rem}.site-shell .btn.quick-brief-submit{border:0;border-radius:999px;padding:.8rem 1.4rem;background:var(--accent);color:#fff;font-weight:700;box-shadow:0 10px 22px -10px rgba(var(--accent-rgb),.7),inset 0 1px #ffffff40;transform:none}.site-shell .btn.quick-brief-submit:hover:not(:disabled),.site-shell .btn.quick-brief-submit:focus-visible{transform:translateY(-2px);background:color-mix(in srgb,var(--accent) 88%,#000);color:#fff;box-shadow:0 14px 26px -12px rgba(var(--accent-rgb),.75),inset 0 1px #ffffff40}.site-shell .btn.quick-brief-submit:disabled{opacity:.7;cursor:progress}.quick-brief-more{font-size:.88rem;font-weight:600;color:var(--accent)}.quick-brief-status{min-height:1.2em;margin:0;font-size:.9rem}.quick-brief-status.is-success{color:#15803d}.quick-brief-status.is-error{color:var(--accent-2)}html.dark .quick-brief-status.is-success{color:#4ade80}@media(max-width:1023px){.home-close{grid-template-columns:minmax(0,1fr);border-radius:22px}}@media(max-width:560px){.quick-brief-row{grid-template-columns:minmax(0,1fr)}.home-close-details>div{grid-template-columns:minmax(0,1fr);gap:.25rem}}.home-about .home-about-text{max-width:none;font-size:clamp(1.2rem,1.75vw,1.75rem);line-height:1.5;letter-spacing:-.005em;text-wrap:pretty}.quick-brief-types{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;border:0}.quick-brief-type{padding:.42rem .85rem;border:1px solid var(--rule-heavy);border-radius:999px;background:var(--paper);font:inherit;font-size:.82rem;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.quick-brief-type:hover{border-color:var(--ink);color:var(--ink)}.quick-brief-type.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.quick-brief-type:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(min-width:1101px)and (max-height:780px){.hero-big{--big-drop: 4.4rem}}@media(max-width:767px){.home-page{--home-gap: 3rem}.work-columns{gap:.75rem}.site-shell .work-card.is-compact{padding:.35rem;border-radius:16px}.site-shell .work-card.is-compact .work-card-cover{border-radius:11px}.work-card-caption{gap:.4rem;padding:.6rem .2rem .25rem .35rem}.work-card.is-compact .work-card-title{font-size:.82rem}.work-card-kicker{font-size:.72rem}.work-card.is-compact .work-card-action{width:2rem;height:2rem;justify-content:center;padding:0}.work-card.is-compact .work-card-action-label{display:none}.work-card.is-compact .work-card-action svg{width:.9rem;height:.9rem}.home-about-photo{aspect-ratio:4 / 3}.home-about-photo img{-o-object-position:50% 22%;object-position:50% 22%}.home-about .home-about-text{font-size:1.05rem}.home-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.home-value{padding:.8rem}.home-value h3{font-size:.9rem}.home-value p{font-size:.78rem;line-height:1.45}.home-close{gap:1.25rem;padding:1.1rem}.home-close-title{font-size:2rem}.home-close-text{font-size:.95rem}.quick-brief{padding:1rem;gap:.75rem}}@media(min-width:600px)and (max-width:1100px){.hero-split{--portrait-max: min(70svh, calc((100vw - 2 * var(--page-gutter)) * .9))}.hero-split-half{top:max(0px,calc(100% - var(--ph, 100%) - var(--panel-h) - var(--panel-gap)))}}@media(max-width:1100px)and (orientation:landscape)and (max-height:660px){.hero-cards{display:none}}@media(max-width:599px){.hero-split{--portrait-h: min(26rem, 45svh);--portrait-max: var(--portrait-h)}.hero-portrait{height:var(--portrait-h)}.hero-split-half{top:max(0px,calc((100% - var(--portrait-h) - var(--panel-h) - var(--panel-gap)) * .5))}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.sticky{position:sticky}.top-0{top:0}.z-40{z-index:40}.mx-auto{margin-left:auto;margin-right:auto}.mt-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-32{height:8rem}.h-40{height:10rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-72{height:18rem}.h-\[28rem\]{height:28rem}.h-\[32rem\]{height:32rem}.h-full{height:100%}.min-h-\[100svh\]{min-height:100svh}.min-h-screen{min-height:100vh}.w-28{width:7rem}.w-3\/4{width:75%}.w-40{width:10rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-\[1280px\]{max-width:1280px}.max-w-\[720px\]{max-width:720px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:var(--radius-full)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--rule\)\]{border-color:var(--rule)}.border-\[var\(--rule-heavy\)\]{border-color:var(--rule-heavy)}.bg-\[var\(--glass\)\]{background-color:var(--glass)}.bg-\[var\(--paper\)\]{background-color:var(--paper)}.bg-\[var\(--paper-warm\)\]{background-color:var(--paper-warm)}.bg-surface-elevated{background-color:var(--surface-elevated)}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-display{font-family:var(--font-display),serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[1\.125rem\]{font-size:1.125rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--ink-muted\)\]{color:var(--ink-muted)}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--color-scheme: light;--paper: #fafaf8;--paper-warm: #ffffff;--paper-warm-rgb: 255, 255, 255;--paper-rgb: 250, 250, 248;--ink: #111113;--ink-soft: #3d3d43;--ink-muted: #6e6e77;--ink-rgb: 17, 17, 19;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-rgb: 37, 99, 235;--accent-soft: rgba(37, 99, 235, .09);--accent-2: #e5533d;--accent-2-rgb: 229, 83, 61;--accent-3: var(--accent);--brand-gradient: linear-gradient(90deg, var(--accent), var(--accent));--rule: rgba(17, 17, 19, .12);--rule-heavy: rgba(17, 17, 19, .3);--glass: #ffffff;--glass-strong: #ffffff;--glow-primary: rgba(37, 99, 235, .14);--glow-cyan: rgba(37, 99, 235, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05), 0 4px 10px -6px rgba(0, 0, 0, .14);--shadow-md: 0 2px 4px rgba(0, 0, 0, .05), 0 12px 24px -12px rgba(0, 0, 0, .2);--shadow-lg: 0 1px 2px rgba(0, 0, 0, .04), 0 10px 24px -12px rgba(0, 0, 0, .14), 0 28px 50px -30px rgba(0, 0, 0, .2);--cut: var(--shadow-lg);--cut-sm: var(--shadow-md);--radius-card: 18px;--radius-input: 12px;--radius-full: 999px;--serif: "Clash Display", "Satoshi", ui-sans-serif, system-ui, sans-serif;--serif-italic: "Satoshi", ui-sans-serif, system-ui, sans-serif;--sans: "Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--surface: var(--paper);--surface-elevated: var(--paper-warm);--surface-glass: var(--glass);--text: var(--ink);--text-muted: var(--ink-soft);--primary: var(--accent);--primary-glow: var(--glow-primary);--secondary: var(--accent);--secondary-glow: var(--glow-cyan);--accent-warm: var(--accent);--accent-warm-glow: var(--glow-primary);--border: var(--rule);--border-subtle: var(--rule);--font-display: var(--serif);--font-body: var(--sans);--radius-lg: var(--radius-card);--nav-bg: rgba(250, 250, 248, .84);--nav-bg-scrolled: rgba(250, 250, 248, .95);--nav-shadow: 0 1px 0 var(--rule);--nav-link-active: var(--ink);--nav-link-muted: var(--ink-muted)}html.dark{--color-scheme: dark;--paper: #0b0b0d;--paper-warm: #131316;--paper-warm-rgb: 19, 19, 22;--paper-rgb: 11, 11, 13;--ink: #f2f2f0;--ink-soft: #b4b4b9;--ink-muted: #7f7f89;--ink-rgb: 242, 242, 240;--accent: #3b82f6;--accent-strong: #60a5fa;--accent-rgb: 59, 130, 246;--accent-soft: rgba(59, 130, 246, .14);--accent-2: #ff6b4a;--accent-2-rgb: 255, 107, 74;--rule: rgba(242, 242, 240, .14);--rule-heavy: rgba(242, 242, 240, .3);--glass: #131316;--glass-strong: #1a1a1e;--glow-primary: rgba(59, 130, 246, .2);--glow-cyan: rgba(59, 130, 246, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 10px -6px rgba(0, 0, 0, .5);--shadow-md: 0 2px 4px rgba(0, 0, 0, .3), 0 12px 24px -12px rgba(0, 0, 0, .6);--shadow-lg: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 26px -12px rgba(0, 0, 0, .55), 0 30px 54px -30px rgba(0, 0, 0, .6);--cut: var(--shadow-lg);--cut-sm: var(--shadow-md);--surface: var(--paper);--surface-elevated: var(--paper-warm);--surface-glass: var(--glass);--text: var(--ink);--text-muted: var(--ink-soft);--border: var(--rule);--border-subtle: var(--rule);--primary-glow: var(--glow-primary);--secondary-glow: var(--glow-cyan);--accent-warm-glow: var(--glow-primary);--nav-bg: rgba(11, 11, 13, .82);--nav-bg-scrolled: rgba(11, 11, 13, .95);--nav-shadow: 0 1px 0 var(--rule);--nav-link-active: #ffffff;--nav-link-muted: var(--ink-muted)}*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:var(--color-scheme)}@media(max-width:767px){html{font-size:14px}}@media(max-width:430px){html{font-size:13px}}body{margin:0;min-height:100vh;font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}html{overflow-x:clip}::-moz-selection{background:rgba(var(--accent-rgb),.22)}::selection{background:rgba(var(--accent-rgb),.22)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:rgba(var(--ink-rgb),.18);border-radius:999px;border:2px solid var(--paper)}::-webkit-scrollbar-thumb:hover{background:rgba(var(--ink-rgb),.3)}img{max-width:100%}a,button,input,textarea,select{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2{margin:0;font-family:var(--serif);word-spacing:.1em;font-weight:500;letter-spacing:-.02em;line-height:1.05;color:var(--ink);text-wrap:balance}h3,h4,h5,h6{margin:0;font-family:var(--sans);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--ink);text-wrap:balance}p,li,dd,dt{font-family:var(--sans);font-size:.95rem;line-height:1.65;color:var(--ink-soft)}.site-shell{min-height:100vh;color:var(--ink);overflow-x:clip}.mobile-page-shell{position:relative}.site-header{border-bottom:1px solid transparent;background:var(--nav-bg);color:var(--ink);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.site-header.is-scrolled{border-bottom-color:var(--rule);background:var(--nav-bg-scrolled)}.site-brand{display:inline-flex;align-items:center;gap:.6rem;min-width:0;color:var(--ink)}.site-brand-mark{display:block;flex:0 0 auto;width:1.85rem;height:1.85rem;border-radius:8px;overflow:hidden;font-family:var(--mono);font-size:6px;font-weight:500}.site-brand-mark-bg{fill:#0b0b0d;stroke:var(--rule);stroke-width:1}.site-brand-mark text{fill:#dbeafe;font-size:6px;opacity:1}.site-brand-mark text.is-lead{fill:#60a5fa;font-weight:700;opacity:1}.site-brand-mark-column{animation:brand-rain calc(7s + var(--column) * 1.6s) linear infinite;animation-delay:calc(var(--column) * -2.3s)}@keyframes brand-rain{0%{transform:translateY(-56px)}to{transform:translateY(0)}}.site-brand:hover .site-brand-mark-column{animation-duration:calc(2.4s + var(--column) * .5s)}@media(prefers-reduced-motion:reduce){.site-brand-mark-column{animation:none}}.site-brand-name{font-family:var(--serif-italic);font-size:1.05rem;font-style:italic;font-weight:600;letter-spacing:-.01em;line-height:1.1;white-space:nowrap;color:var(--accent)}.site-nav{display:none;align-items:center;gap:.15rem}.site-nav-cta{display:none}@media(min-width:768px){.site-nav{display:flex}.site-nav-cta{display:inline-flex}}.site-nav-link{position:relative;display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--nav-link-muted)}.site-nav-link:hover,.site-nav-link:focus-visible{color:var(--nav-link-active);background:rgba(var(--ink-rgb),.05)}.site-nav-link.is-active{color:var(--nav-link-active)}.site-nav-link.is-active:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.1rem;height:2px;border-radius:999px;background:var(--accent)}.site-nav-cta{padding:.5rem .95rem;font-size:.82rem}.site-header:not(.is-poster){padding-top:.5rem;border-bottom-color:transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.site-header:not(.is-poster) .site-header-inner{width:calc(100% - 2 * var(--page-gutter));height:3rem;padding:0 .35rem 0 .8rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper-warm);box-shadow:var(--shadow-md);pointer-events:auto;transition:box-shadow .3s ease,background-color .3s ease}.site-header.is-scrolled:not(.is-poster) .site-header-inner{box-shadow:var(--shadow-lg)}@media(min-width:768px){.site-header:not(.is-poster){padding-top:.6rem}.site-header:not(.is-poster) .site-header-inner{width:-moz-max-content;width:max-content;max-width:calc(100% - 2 * var(--page-gutter));height:3.4rem;gap:clamp(.75rem,2.4vw,2.25rem);padding:0 .4rem 0 1rem;background:rgba(var(--paper-warm-rgb),.9);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}.site-header:not(.is-poster) .site-nav-link{border-radius:999px}.site-header:not(.is-poster) .site-nav-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}html.dark .site-header:not(.is-poster) .site-nav-link.is-active{color:var(--accent-strong)}.site-header:not(.is-poster) .site-nav-link.is-active:after{display:none}.site-header:not(.is-poster) .site-nav-cta{padding:.62rem 1.1rem}}@media(min-width:1101px){.site-header:not(.is-poster) .site-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;max-width:none;padding:0 var(--page-gutter);border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.site-header.is-scrolled:not(.is-poster) .site-header-inner{box-shadow:none}.site-header:not(.is-poster) :is(.site-brand,.site-nav,.site-header-actions){pointer-events:auto}.site-header:not(.is-poster) .site-brand{justify-self:start}.site-header:not(.is-poster) .site-header-actions{justify-self:end}.site-header:not(.is-poster) :is(.site-brand,.site-nav){height:2.9rem;border:1px solid var(--rule);border-radius:999px;background:rgba(var(--paper-warm-rgb),.9);box-shadow:var(--shadow-md);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);transition:box-shadow .3s ease}.site-header:not(.is-poster) .site-brand{padding:0 .95rem 0 .45rem}.site-header:not(.is-poster) .site-nav{padding:0 .35rem;gap:.1rem}.site-header:not(.is-poster) .site-nav-link{padding:.5rem .95rem}.site-header.is-scrolled:not(.is-poster) :is(.site-brand,.site-nav){box-shadow:var(--shadow-lg)}.site-header:not(.is-poster) .theme-toggle{width:2.9rem;height:2.9rem;box-shadow:var(--shadow-md)}.site-header:not(.is-poster) .site-nav-cta{height:2.9rem;padding:0 1.2rem}.site-header:not(.is-poster) .site-nav-cta,.site-header:not(.is-poster) .site-nav-cta:hover,.site-header:not(.is-poster) .site-nav-cta:focus-visible{box-shadow:0 0 0 1.5px rgba(var(--paper-warm-rgb),.9),0 8px 18px -8px rgba(var(--accent-rgb),.6)}}@media(prefers-reduced-motion:no-preference){.site-header:not(.is-poster) .site-header-inner{animation:pillIn .5s cubic-bezier(.22,1,.36,1) backwards}}@keyframes pillIn{0%{opacity:0;translate:0 -10px}}.mobile-app-nav{position:fixed;right:0;bottom:0;left:0;z-index:50;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom,0px));pointer-events:none}.mobile-app-nav-inner{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.15rem;width:min(100%,30rem);margin:0 auto;padding:.3rem;border:1px solid var(--rule);border-radius:18px;background:var(--paper-warm);box-shadow:var(--shadow-lg);pointer-events:auto}.mobile-app-nav-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;min-width:0;min-height:3.2rem;padding:.35rem .15rem;border-radius:12px;font-family:var(--sans);font-size:.72rem;font-weight:500;line-height:1;color:var(--ink-muted);-webkit-tap-highlight-color:transparent}.mobile-app-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem}.mobile-app-nav-icon svg{width:1.2rem;height:1.2rem}.mobile-app-nav-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}@media(hover:hover){.mobile-app-nav-link:not(.is-active):hover{background:rgba(var(--ink-rgb),.05);color:var(--ink)}}@media(max-width:767px){:root{--serif-italic: ui-sans-serif, system-ui, sans-serif;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}}.container-custom{width:min(100%,1200px);margin:0 auto}:root{--page-gutter: clamp(1rem, 3.5vw, 5rem)}.page-gutter{padding-inline:var(--page-gutter)}.font-display{font-family:var(--serif);word-spacing:.1em}.font-body{font-family:var(--sans)}.text-gradient,.text-gradient-primary{color:var(--accent)}.eyebrow,.section-pill,.tag,.metric-pill,.mono-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0;color:var(--ink-soft);font-weight:500}.eyebrow:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);flex:0 0 auto}.section-block{padding-top:1rem}.section-heading{display:flex;align-items:flex-end;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--rule-heavy)}.section-heading-main{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.section-heading-aside{display:flex;align-items:center;margin-left:auto}.section-title{font-size:clamp(1.5rem,2.2vw,1.95rem)}.section-body{margin-top:1.5rem}.surface-panel,.card,.glass{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm)}.surface-panel{padding:1.5rem}.card{padding:1.25rem}.btn,.section-pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--rule-heavy);border-radius:var(--radius-full);background:var(--paper-warm);color:var(--ink);padding:.65rem 1.15rem;font-family:var(--sans);font-size:.875rem;font-weight:500;line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap}.section-pill{padding:.55rem .95rem;font-size:.8rem}.btn:hover,.section-pill:hover,.btn:focus-visible,.section-pill:focus-visible{border-color:var(--ink);background:var(--paper-warm);color:var(--ink);outline:none}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover,.btn-primary:focus-visible{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}html.dark .btn-primary{color:#0c0e13}html.dark .btn-primary:hover,html.dark .btn-primary:focus-visible{color:#0c0e13}.btn-ghost{border-color:var(--rule);background:transparent;color:var(--ink-soft)}.btn-ghost:hover,.btn-ghost:focus-visible{background:rgba(var(--ink-rgb),.05);border-color:var(--rule-heavy);color:var(--ink)}.btn[disabled],.section-pill[disabled]{opacity:.5;cursor:not-allowed;transform:none}.tag{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:-moz-fit-content;width:fit-content;border:1px solid var(--rule);border-radius:6px;background:rgba(var(--ink-rgb),.035);color:var(--ink-soft);padding:.32rem .55rem;font-size:.66rem;line-height:1;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag:hover{border-color:var(--rule-heavy);color:var(--ink)}.tag-primary,.tag-secondary{border-color:rgba(var(--accent-rgb),.3);background:var(--accent-soft);color:var(--accent)}.metric-pill{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-muted)}.interactive-lift{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.interactive-lift [aria-hidden=true]:last-child,.interactive-lift .arrow-icon{display:inline-block;transition:transform .22s cubic-bezier(.22,1,.36,1)}.interactive-lift:hover [aria-hidden=true]:last-child,.interactive-lift:hover .arrow-icon{transform:translate(2px,-2px)}.hover-card{transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease}.hover-card:hover{transform:translateY(-2px);border-color:var(--rule-heavy);box-shadow:var(--shadow-md)}.empty-state,.text-muted{color:var(--ink-muted)}.empty-state{border-radius:var(--radius-card)}.page-header{display:grid;gap:.6rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rule-heavy)}.page-header h1{font-size:clamp(2.2rem,4.2vw,3.25rem)}.page-header-intro{max-width:44rem;margin:.25rem 0 0;font-size:1.02rem;color:var(--ink-soft)}.markdown-renderer{color:var(--ink-soft)}.markdown-renderer>*:first-child{margin-top:0}.markdown-renderer h2,.markdown-renderer h3,.markdown-renderer h4{margin-top:2.4rem;margin-bottom:.85rem;color:var(--ink);line-height:1.25}.markdown-renderer h2{padding-bottom:.45rem;border-bottom:1px solid var(--rule);font-size:1.5rem}.markdown-renderer h3{font-size:1.2rem}.markdown-renderer h4{font-size:1.02rem}.markdown-renderer p,.markdown-renderer li{font-family:var(--sans);font-size:1.05rem;line-height:1.8;color:var(--ink-soft)}.markdown-renderer ul,.markdown-renderer ol{padding-left:1.5rem}.markdown-renderer blockquote{margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--accent)}.markdown-renderer blockquote p{color:var(--ink-muted)}.markdown-renderer a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(var(--accent-rgb),.35);text-underline-offset:.2em}.markdown-renderer a:hover{text-decoration-color:var(--accent)}.markdown-renderer code{font-family:var(--mono);font-size:.86em;padding:.12em .4em;border-radius:6px;background:rgba(var(--ink-rgb),.05);border:1px solid var(--rule)}.markdown-renderer pre{overflow-x:auto;padding:1.1rem 1.25rem;border-radius:var(--radius-card);border:1px solid var(--rule);background:var(--paper-warm)}.markdown-renderer pre code{padding:0;border:0;background:transparent}.markdown-renderer img{border-radius:10px}.markdown-renderer hr{margin:2.5rem 0;border:0;border-top:1px solid var(--rule)}.editorial-input,.admin-input,.admin-textarea{width:100%;border:1px solid var(--rule-heavy);border-radius:var(--radius-input);background:var(--paper-warm);color:var(--ink);padding:.8rem .95rem;outline:none;box-shadow:var(--shadow-sm)}.editorial-input::-moz-placeholder,.admin-input::-moz-placeholder,.admin-textarea::-moz-placeholder{color:var(--ink-muted)}.editorial-input::placeholder,.admin-input::placeholder,.admin-textarea::placeholder{color:var(--ink-muted)}select.editorial-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.8rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:.75rem}select.editorial-input option{background:var(--paper-warm);color:var(--ink)}.editorial-input:focus,.admin-input:focus,.admin-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.16)}.admin-textarea{min-height:8rem;resize:vertical}.reveal,.route-fade{opacity:1}@media(prefers-reduced-motion:no-preference){.route-fade{animation:routeFade .4s cubic-bezier(.22,1,.36,1) both}}@keyframes routeFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fade-up{opacity:1}@media(prefers-reduced-motion:no-preference){.fade-up{opacity:0;transform:translateY(16px);animation:fadeUp .6s cubic-bezier(.22,1,.36,1) forwards}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}html.scroll-fx .fade-up{animation-name:none}html.scroll-fx .fade-up.is-inview{animation-name:fadeUp}html.scroll-fx .fade-up.is-from-above{transform:translateY(-16px)}html.scroll-fx .fade-up.is-from-above.is-inview{animation-name:fadeDown}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-footer{position:relative;isolation:isolate;overflow:hidden;margin-top:2rem;border-top:1px solid var(--rule);background:var(--paper-warm);color:var(--ink)}.site-footer-media,.site-footer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.footer-orbit{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.footer-orbit-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;opacity:.9}html.dark .footer-orbit-canvas{opacity:.8}.site-footer-scrim{background:linear-gradient(180deg,var(--paper) 0%,rgba(var(--paper-rgb),.8) 9%,rgba(var(--paper-rgb),.3) 26%,rgba(var(--paper-rgb),.34) 100%)}html.dark .site-footer-scrim{background:linear-gradient(180deg,var(--paper) 0%,rgba(var(--paper-rgb),.82) 9%,rgba(var(--paper-rgb),.42) 26%,rgba(var(--paper-rgb),.5) 100%)}.site-footer-inner{position:relative;width:100%;margin:0 auto;padding:3rem var(--page-gutter) 1.5rem}.site-footer-grid{display:grid;grid-template-columns:minmax(16rem,1.4fr) repeat(2,minmax(8rem,.6fr)) minmax(14rem,.9fr);gap:2rem 2.5rem;padding-bottom:2.25rem;border-bottom:1px solid var(--rule)}.site-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}.site-footer-identity{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.site-footer-monogram{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:10px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.04em}.site-footer-copy{display:grid;gap:.1rem;min-width:0}.site-footer-copy strong{color:var(--ink);font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.site-footer-copy span{color:var(--ink-soft);font-size:.86rem;font-weight:500}.site-footer-brand-note{max-width:26rem;margin:0;color:var(--ink-soft);font-size:.95rem;font-weight:500;line-height:1.6}.site-footer-location{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-soft);font-size:.88rem;font-weight:500}.site-footer-location svg{width:.9rem;height:.9rem;color:var(--accent)}.site-footer-social{display:flex;gap:.45rem;margin-top:.15rem}.site-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border:1px solid var(--rule-heavy);border-radius:999px;color:var(--ink-soft);font-family:var(--mono);font-size:.6rem}.site-footer-social a svg{width:1rem;height:1rem}.site-footer-social a:hover,.site-footer-social a:focus-visible{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}.site-footer-column h3,.site-footer-start-label{display:block;margin:0 0 .75rem;color:var(--ink-soft);font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.site-footer-links .site-footer-link-all{margin-top:.35rem;font-weight:600;color:var(--accent)}.site-footer-links .site-footer-link-all span{display:inline-block;transition:translate .25s cubic-bezier(.22,1,.36,1)}.site-footer-links .site-footer-link-all:hover span{translate:3px 0}.site-footer-links{display:grid;gap:.2rem}.site-footer-links a{display:inline-flex;width:-moz-fit-content;width:fit-content;min-height:1.75rem;align-items:center;gap:.3rem;color:var(--ink);font-size:1rem;font-weight:500;line-height:1.5}.site-footer-links a svg{width:.72rem;height:.72rem;color:var(--ink-muted);transition:transform .2s cubic-bezier(.22,1,.36,1)}.site-footer-links a:hover,.site-footer-links a:focus-visible{color:var(--accent)}.site-footer-links a:hover svg{transform:translate(2px,-2px);color:var(--accent)}.site-footer-start{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.1rem 1.2rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:rgba(var(--paper-warm-rgb),.78);box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.site-footer-start strong{max-width:18rem;color:var(--ink);font-size:1.2rem;font-weight:700;line-height:1.35;letter-spacing:-.02em}.site-footer-start p{max-width:20rem;margin:0;font-size:.95rem;font-weight:500;color:var(--ink-soft)}.site-footer-start .btn{margin-top:.5rem}.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding-top:1.25rem;color:var(--ink-soft)}.site-footer-bottom p,.site-footer-bottom span{margin:0;color:inherit;font-size:.88rem;font-weight:500;line-height:1.5}.site-footer-bottom a{display:inline-flex;align-items:center;gap:.25rem;color:var(--ink);font-size:.88rem;font-weight:500}.site-footer-bottom a svg{width:.7rem;height:.7rem}.site-footer-bottom a:hover{color:var(--ink)}.site-footer-bottom-links{display:flex;flex-wrap:wrap;gap:1rem}@media(max-width:767px){body{overscroll-behavior-y:none}.site-shell{min-height:100dvh}.mobile-page-shell{width:min(100%,44rem)}.container-custom{width:min(100%,calc(100% - 2rem))}.surface-panel,.card{padding:1rem}.site-footer-inner{padding:2.25rem var(--page-gutter) calc(5.75rem + env(safe-area-inset-bottom,0px))}.site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 1.25rem;padding-bottom:1.75rem}.site-footer-brand,.site-footer-start{grid-column:1 / -1}.site-footer-bottom{align-items:flex-start;flex-direction:column;gap:.5rem}}@media(min-width:768px){.site-footer-inner{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}}.site-poster-edge,.site-poster-lang{display:none}@media(min-width:1101px){.site-header.is-poster{--poster-x: clamp(.85rem, 1vw, 1.5rem);--poster-y: clamp(.9rem, 2.4vh, 1.6rem);border-bottom-color:transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header.is-poster .site-header-inner{max-width:none;padding-left:clamp(2.5rem,5vw,5rem);padding-right:clamp(2.5rem,5vw,5rem)}.site-header.is-poster .site-brand{padding:.3rem .7rem .3rem .35rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--cut-sm)}.site-header.is-poster{--poster-stack: clamp(3.75rem, 9vh, 5.75rem)}.site-header.is-poster .site-nav{position:fixed;left:var(--poster-x);bottom:var(--poster-stack);flex-direction:column;align-items:flex-start;gap:.1rem}.site-header.is-poster .site-nav-link{padding:.28rem .8rem;font-size:.95rem;font-weight:600;color:var(--ink-soft)}.site-header.is-poster .site-nav-link.is-active{color:var(--nav-link-active)}.site-header.is-poster .theme-toggle{position:fixed;right:var(--poster-x);bottom:var(--poster-y)}.site-header.is-poster .site-poster-edge{position:fixed;right:var(--poster-x);bottom:calc(var(--poster-stack) + 3px);display:inline-flex;align-items:center;padding:.85rem .35rem;border:1px solid var(--rule);border-radius:var(--radius-card);writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;font-weight:500;letter-spacing:.06em;color:var(--ink-soft);background:var(--paper);transition:border-color .22s ease,color .22s ease}.site-header.is-poster .site-poster-edge:hover,.site-header.is-poster .site-poster-edge:focus-visible{border-color:var(--rule-heavy);color:var(--ink)}.site-header.is-poster .site-poster-lang{position:fixed;left:calc(var(--poster-x) + 1rem);bottom:var(--poster-y);display:block;width:2.05rem;height:2.05rem;margin:0;color:var(--ink);transition:color .25s ease}.site-header.is-poster .site-poster-lang:hover{color:var(--accent)}.site-header.is-poster .site-poster-lang-mark{display:block;width:100%;height:100%}.site-header.is-poster .site-poster-lang-code{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.globe-mark{--globe-line: 2.3px;--globe-arc: calc(var(--globe-line) * .62);--globe-arc-blur: calc(var(--globe-line) * .48);--globe-turn: 10.8s;position:relative;display:block;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 0 0 var(--globe-line) currentColor;overflow:hidden}.globe-mark-spin{position:absolute;top:0;right:0;bottom:0;left:0}.globe-mark-meridian,.globe-mark-lat,.globe-mark-equator{position:absolute;top:50%;left:50%;translate:-50% -50%}.globe-mark-meridian{width:100%;height:100%;border-radius:50%;box-shadow:inset var(--globe-arc) 0 0 var(--globe-arc-blur) currentColor}.globe-mark-lat{width:150%;height:55%;border-radius:50%;box-shadow:inset 0 0 0 var(--globe-line) currentColor}.globe-mark-equator{width:150%;height:var(--globe-line);background:currentColor}@media(prefers-reduced-motion:no-preference){.globe-mark-spin{animation:globeSpin var(--globe-turn) linear infinite}.globe-mark-meridian{animation:globeMeridian calc(var(--globe-turn) / 2) linear infinite}.globe-mark-meridian:nth-child(1){animation-delay:calc(var(--globe-turn) / -3)}.globe-mark-meridian:nth-child(2){animation-delay:calc(var(--globe-turn) / -6)}.site-poster-lang:hover .globe-mark{--globe-turn: 4.4s}}@keyframes globeSpin{to{rotate:360deg}}@keyframes globeMeridian{0%{width:100%;border-radius:50%;background:transparent;box-shadow:inset var(--globe-arc) 0 0 var(--globe-arc-blur) currentColor}49%{border-radius:50%;background:transparent;box-shadow:inset var(--globe-arc) 0 0 var(--globe-arc-blur) currentColor}50%{width:var(--globe-line);border-radius:0;background:currentColor;box-shadow:none}51%{border-radius:50%;background:transparent;box-shadow:inset calc(var(--globe-arc) * -1) 0 0 var(--globe-arc-blur) currentColor}to{width:100%;border-radius:50%;background:transparent;box-shadow:inset calc(var(--globe-arc) * -1) 0 0 var(--globe-arc-blur) currentColor}}@media(prefers-reduced-motion:reduce){.globe-mark-meridian:nth-child(2){width:55%}.globe-mark-meridian:nth-child(3){width:var(--globe-line);border-radius:0;background:currentColor;box-shadow:none}}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.6rem 1.1rem;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.875rem;font-weight:600;translate:0 -200%}.skip-link:focus-visible{translate:none}#main-content:focus{outline:none}@media(min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media(min-width:768px){.md\:hidden{display:none}.md\:h-16{height:4rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:pb-10{padding-bottom:2.5rem}.md\:pt-0{padding-top:0}.md\:pt-10{padding-top:2.5rem}}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.service-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid.is-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.service-card{position:relative;display:flex;flex-direction:column;gap:1rem;height:100%;padding:1.75rem 1.75rem 1.6rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease}.service-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent);opacity:.85}.service-card:hover{transform:translateY(-2px);border-color:var(--rule-heavy);box-shadow:var(--shadow-md)}.service-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.service-card-index{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--accent)}.service-card-title{font-size:1.28rem;letter-spacing:-.025em}.service-card-summary{margin:0;font-size:.94rem;color:var(--ink-soft)}.service-card-list{display:grid;gap:.6rem;margin:.2rem 0 0;padding:0;list-style:none}.service-card-list li{position:relative;padding-left:1.1rem;font-size:.9rem;line-height:1.55;color:var(--ink)}.service-card-list li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:999px;background:var(--accent)}.service-card-deliverables{display:grid;gap:.2rem;margin:.35rem 0 0;padding:.85rem .95rem;border-radius:10px;background:rgba(var(--ink-rgb),.035);font-size:.86rem;line-height:1.5;color:var(--ink-soft)}.service-card-deliverables span{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.service-card-marks,.home-cert-marks{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:start;gap:.55rem;margin:0;padding:0;list-style:none}.service-card-marks li,.home-cert-marks li{width:1.35rem;height:1.35rem;color:var(--accent);background:currentColor;mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;opacity:1;transition:transform .25s ease}.service-card:hover .service-card-marks li,.home-cert-card:hover .home-cert-marks li{transform:translateY(-2px)}.service-card.is-compact .service-card-marks li{width:1rem;height:1rem}.service-card-footer{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--rule)}.service-card-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:600;color:var(--accent)}.service-card-link svg{width:.9rem;height:.9rem;transition:transform .2s cubic-bezier(.22,1,.36,1)}.service-card-link:hover svg{transform:translate(3px)}.service-card.is-compact{gap:.6rem;padding:1.2rem 1.2rem 1.05rem}.service-card.is-compact .service-card-top{flex-direction:column;align-items:flex-start;gap:.45rem}.service-card.is-compact .service-card-title{font-size:1.05rem}.service-card.is-compact .service-card-summary{font-size:.86rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.service-card.is-compact .service-card-footer{padding-top:.75rem}.service-card.is-compact .service-card-link{font-size:.82rem}.service-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.2rem 0 0}.service-card-facts div{display:grid;gap:.15rem}.service-card-facts dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.service-card-facts dd{margin:0;font-size:.84rem;line-height:1.45;color:var(--ink)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}.work-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease}.work-card:hover,.work-card:focus-visible{transform:translateY(-3px);border-color:var(--rule-heavy);box-shadow:var(--shadow-md)}.work-card-cover{position:relative;aspect-ratio:5 / 3;background:rgba(var(--ink-rgb),.04);border-bottom:1px solid var(--rule);overflow:hidden}.work-card-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;transition:transform .6s cubic-bezier(.22,1,.36,1)}.work-card-cover.is-placeholder{display:grid;place-items:center;background:radial-gradient(ellipse 80% 70% at 30% 20%,rgba(var(--accent-rgb),.18),transparent 60%),linear-gradient(160deg,rgba(var(--ink-rgb),.05),rgba(var(--ink-rgb),.02))}.work-card-placeholder{font-family:var(--serif);word-spacing:.1em;font-size:clamp(2.4rem,5vw,3.4rem);font-weight:700;letter-spacing:-.05em;color:rgba(var(--accent-rgb),.55)}.work-card-body{display:flex;flex-direction:column;gap:.75rem;flex:1;padding:1.5rem 1.5rem 1.6rem}.work-card-title{font-size:1.15rem;letter-spacing:-.02em;transition:color .2s ease}.work-card:hover .work-card-title{color:var(--accent)}.work-card-summary{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.9rem;color:var(--ink-soft)}.work-grid.is-single .work-card{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.work-grid.is-single .work-card-cover{aspect-ratio:auto;min-height:18rem}.work-grid.is-single .work-card-body{padding:1.75rem 1.9rem;justify-content:center}.work-grid.is-single .work-card-title{font-size:1.5rem}.work-grid.is-single .work-card-summary{font-size:1rem;-webkit-line-clamp:4}.site-shell .work-card{height:100%;padding:.5rem;border-radius:22px}.site-shell .work-card .work-card-cover{aspect-ratio:16 / 10;isolation:isolate;border:0;border-radius:15px;background:var(--paper)}.site-shell .work-card .work-card-cover:after,.site-shell .work-card:hover .work-card-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit;background:none;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.08);opacity:1;pointer-events:none}.site-shell .work-card .work-card-cover:before{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;z-index:1;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-18deg);opacity:0;pointer-events:none}@media(prefers-reduced-motion:no-preference){.site-shell .work-card:hover .work-card-cover:before{animation:workSheen .9s ease forwards}}@keyframes workSheen{0%{left:-60%;opacity:1}to{left:130%;opacity:1}}.work-card-caption{display:flex;flex:1;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .35rem .35rem .55rem}.work-card-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.site-shell .work-card .work-card-title{display:-webkit-box;margin:0;overflow:hidden;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1rem,1.25vw,1.15rem);font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--ink);-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.site-shell .work-card:hover .work-card-title{color:var(--ink)}.work-card-kicker{font-size:.9rem;font-weight:500;color:var(--ink-muted)}.work-card-action{display:inline-flex;flex-shrink:0;align-items:center;gap:.4rem;padding:.6rem 1rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.88rem;font-weight:600;line-height:1;box-shadow:0 6px 14px -6px #2563eb99;transition:background-color .2s ease,box-shadow .2s ease}.work-card-action svg{width:1rem;height:1rem;transition:transform .25s cubic-bezier(.22,1,.36,1)}.work-card:hover .work-card-action,.work-card:focus-visible .work-card-action{background:color-mix(in srgb,var(--accent) 88%,#000);box-shadow:0 8px 18px -6px #2563ebb3}.work-card:hover .work-card-action svg,.work-card:focus-visible .work-card-action svg{transform:translate(2px)}.site-shell .work-card .work-card-body{gap:.4rem;padding:.95rem .35rem .35rem .55rem}.site-shell .work-card .work-card-summary{-webkit-line-clamp:2;line-clamp:2}.work-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.55rem}.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.filter-bar.is-left{justify-content:flex-start}.filter-pill{display:inline-flex;align-items:center;padding:.55rem 1.1rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper-warm);font-size:.85rem;font-weight:500;line-height:1.2;color:var(--ink-soft);box-shadow:0 1px 2px #0000000a,0 4px 10px -6px #00000024,inset 0 1px #ffffffb3;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.filter-pill:hover{border-color:var(--rule-heavy);color:var(--ink);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d,0 8px 16px -8px #0003,inset 0 1px #ffffffb3}.filter-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter-pill.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper);box-shadow:0 6px 14px -6px #00000073}html.dark .filter-pill{box-shadow:0 1px 2px #0000004d,inset 0 1px #ffffff0d}html.dark .filter-pill.is-active{box-shadow:0 6px 14px -6px #0009}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;padding:2rem 2.25rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-sm)}.cta-band-copy{display:grid;gap:.4rem}.cta-band-copy h2{font-size:clamp(1.4rem,2.2vw,1.85rem)}.cta-band-copy p{max-width:44rem;margin:0;font-size:.98rem}.cta-band-actions{display:flex;flex-wrap:wrap;flex:0 0 auto;gap:.6rem}@media(max-width:1024px){.work-grid,.service-grid.is-three,.service-grid.is-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.service-grid,.service-grid.is-three,.service-grid.is-four,.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.service-card-facts{grid-template-columns:1fr;gap:.45rem}.service-card-facts dd{font-size:.76rem}.service-card,.service-card.is-compact{gap:.65rem;padding:1.1rem 1rem 1rem}.service-card-top{flex-direction:column;align-items:flex-start;gap:.4rem}.service-card-title,.service-card.is-compact .service-card-title{font-size:.98rem}.service-card-summary,.service-card.is-compact .service-card-summary{font-size:.78rem;line-height:1.5;-webkit-line-clamp:4}.service-card-list{gap:.3rem}.service-card-list li{font-size:.76rem;padding-left:.85rem}.service-card-list li:before{width:5px;height:5px}.service-card-deliverables{display:none}.service-card-footer{padding-top:.65rem}.service-card-link{font-size:.76rem}.site-shell .work-card{padding:.35rem;border-radius:16px}.site-shell .work-card .work-card-cover{border-radius:11px}.site-shell .work-card .work-card-body{gap:.3rem;padding:.6rem .2rem .25rem .35rem}.site-shell .work-card .work-card-title{font-size:.82rem}.site-shell .work-card .work-card-summary{-webkit-line-clamp:1;line-clamp:1}.work-card-kicker{font-size:.72rem}.work-card-foot .work-card-action{width:2rem;height:2rem;justify-content:center;padding:0}.work-card-foot .work-card-action-label{display:none}.work-card-foot .work-card-action svg{width:.9rem;height:.9rem}.work-card-summary{font-size:.76rem;line-height:1.4;-webkit-line-clamp:1}.work-grid.is-single .work-card{grid-template-columns:1fr}.work-grid.is-single .work-card-cover{aspect-ratio:16 / 10;min-height:0}.work-grid.is-single .work-card-body{padding:1rem}.work-grid.is-single .work-card-title{font-size:1.1rem}.work-grid.is-single .work-card-summary{font-size:.85rem}.filter-pill{padding:.45rem .85rem;font-size:.76rem}.cta-band{flex-direction:column;align-items:flex-start;padding:1.4rem 1.2rem}.cta-band-actions{width:100%}.cta-band-actions .btn{flex:1 1 auto}}@media(max-width:360px){.service-grid,.service-grid.is-three,.service-grid.is-four,.work-grid{grid-template-columns:1fr}}.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:1.5rem 3rem;padding-top:2rem;border-top:1px solid var(--rule-heavy)}.faq.is-compact{grid-template-columns:1fr;gap:1.5rem;margin-top:1rem;padding-top:2rem}.faq.is-compact .faq-head{gap:.65rem}.faq-head{display:grid;gap:.5rem;align-content:start}.faq-head h2{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.25}.faq-list{display:grid;border-top:1px solid var(--rule)}.faq-item{border-bottom:1px solid var(--rule)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;cursor:pointer;list-style:none;font-size:1rem;font-weight:600;color:var(--ink)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--accent)}.faq-icon{position:relative;flex:0 0 auto;width:1.4rem;height:1.4rem;border:1px solid var(--rule-heavy);border-radius:999px}.faq-icon:before,.faq-icon:after{content:"";position:absolute;top:50%;left:50%;width:.6rem;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .2s ease}.faq-icon:after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item[open] .faq-icon:after{transform:translate(-50%,-50%) rotate(0)}.faq-item p{max-width:60ch;margin:0;padding:0 1.15rem 1.1rem;font-size:.95rem;line-height:1.65;color:var(--ink-soft)}@media(max-width:900px){.faq{grid-template-columns:1fr;gap:1rem}.faq-item summary{font-size:.92rem;padding:.85rem .9rem}.faq-item p{padding-inline:.9rem;font-size:.86rem}}.signals{display:grid;gap:1.75rem}.signals-head{display:grid;gap:.85rem;max-width:54rem}.signals-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}.signals-text{font-size:1rem;line-height:1.65;color:var(--ink-soft)}.signal-mark{display:inline-block;width:1rem;height:1rem;flex:0 0 auto;background:currentColor;mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat}.signal-mark.is-platform{width:1.15rem;height:1.15rem}.signals-builder,.signals-pipeline{display:grid;gap:1.25rem;padding:1.75rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm)}.signals-steps{--steps-gap: 1.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem var(--steps-gap)}.signals-steps .signals-step+.signals-step{margin-left:calc(var(--steps-gap) / -2);padding-left:calc(var(--steps-gap) / 2);border-left:1px solid var(--rule)}.signals-step{display:grid;gap:.55rem;align-content:start}.signals-step-label{display:flex;align-items:center;gap:.5rem;margin:0;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.signals-step-label span:first-child{color:var(--accent)}.signals-platforms{display:flex;flex-wrap:wrap;gap:.5rem}.signals-platform{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem .5rem .9rem;border:1px solid var(--rule-heavy);border-radius:999px;background:var(--paper);font-size:.82rem;font-weight:500;color:var(--ink-soft);transition:color .2s ease,border-color .2s ease,background .2s ease}.signals-platform:hover{border-color:var(--ink);color:var(--ink)}.signals-platform.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.signals-platform-state{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:999px;background:rgba(var(--ink-rgb),.1);font-family:var(--mono);font-size:.8rem;line-height:1}.signals-platform.is-active .signals-platform-state{background:rgba(var(--paper-rgb),.22)}.signals-collecting{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem;margin:0;padding:.9rem 1.1rem;border:1px solid var(--rule);border-radius:var(--radius-input);background:var(--paper)}.signals-collecting-count{font-family:var(--serif);word-spacing:.1em;font-size:1.45rem;font-weight:500;line-height:1;color:var(--accent)}.signals-collecting-label{margin-right:.35rem;font-size:.8rem;font-weight:600;color:var(--ink)}.signals-collecting-chips{display:contents}.signals.is-compact .signals-collecting-chips{display:none}.signals-collecting-chips span{padding:.2rem .5rem;border:1px solid var(--rule);border-radius:var(--radius-input);font-size:.72rem;line-height:1.3;color:var(--ink-muted)}.signals-goals{display:flex;flex-wrap:wrap;gap:.5rem}.signals-goal{padding:.48rem .9rem;border:1px solid var(--rule-heavy);border-radius:999px;background:var(--paper);font-size:.82rem;font-weight:500;color:var(--ink-soft);transition:color .2s ease,border-color .2s ease,background .2s ease}.signals-goal:hover{border-color:var(--ink);color:var(--ink)}.signals-goal.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.signals-outcome{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem 1.75rem}.signals-outcome-col{padding-left:1rem;border-left:2px solid rgba(var(--accent-rgb),.28)}.signals-outcome h3{margin:0 0 .55rem;font-family:var(--mono);font-size:.64rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.signals-questions,.signals-stage-points{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.signals-questions li,.signals-stage-points li{position:relative;padding-left:.95rem;font-size:.85rem;line-height:1.5;color:var(--ink-soft)}.signals-questions li:before,.signals-stage-points li:before{content:"";position:absolute;top:.5em;left:0;width:6px;height:6px;border-radius:50%;background:var(--accent)}.signals-brief{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem 1.75rem;padding:1.4rem 1.5rem;border:1px solid var(--accent);border-radius:var(--radius-card);background:var(--accent-soft)}.signals-brief-main{display:grid;gap:.45rem}.signals-brief-facts{display:flex;gap:1.25rem;margin:0;padding-left:1.25rem;border-left:1px solid rgba(var(--accent-rgb),.35)}.signals-brief-facts div{display:grid;gap:.15rem}.signals-brief-facts dt{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.signals-brief-facts dd{margin:0;font-size:.85rem;font-weight:600;white-space:nowrap;color:var(--accent)}.signals-brief-label{margin:0 0 .1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.signals-brief-text{max-width:38rem;margin:0;text-wrap:balance;font-family:var(--serif);word-spacing:.1em;font-size:clamp(1.1rem,1.7vw,1.4rem);font-weight:500;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}.signals-brief-cta{white-space:nowrap}.signals-builder{container:signals-builder / inline-size}@container signals-builder (max-width: 1000px){.signals-brief{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main main" "facts cta";align-items:end}.signals-brief-main{grid-area:main}.signals-brief-facts{grid-area:facts;flex-wrap:wrap;gap:.9rem 1.25rem;padding-left:0;padding-top:.85rem;border-left:0;border-top:1px solid rgba(var(--accent-rgb),.35)}.signals-brief-cta{grid-area:cta}}@container signals-builder (max-width: 560px){.signals-brief{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "facts" "cta";align-items:start}.signals-brief-cta{justify-self:start}}.signals-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;grid-auto-rows:1fr;gap:.85rem}.signals-column{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper);overflow:hidden;transition:border-color .25s ease}.signals-column:hover{border-color:var(--rule-heavy)}.signals-rail.is-static .signals-column{grid-template-rows:auto}.signals-stage.is-static{cursor:default}.signals-pipeline-link{justify-self:start;display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:600;color:var(--accent)}.signals-pipeline-link:hover{text-decoration:underline}.signals-column.is-open{border-color:var(--accent)}.signals-stage{position:relative;display:grid;gap:.4rem;align-content:start;padding:.95rem 1rem 1rem;border:0;background:transparent;text-align:left;transition:background .25s ease}.signals-column.is-open .signals-stage{background:var(--accent-soft)}.signals-art{width:100%;height:auto;margin-bottom:.35rem;border-radius:var(--radius-input);background:rgba(var(--ink-rgb),.035)}.signals-column.is-open .signals-art{background:rgba(var(--paper-rgb),.55)}.signals-column:not(.is-open) .signals-art{opacity:.72}.signals-column:hover .signals-art{opacity:1}.signals-stage-meta{display:flex;align-items:baseline;gap:.5rem}.signals-stage-step{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--ink-muted)}.signals-column.is-open .signals-stage-step{color:var(--accent-strong)}.signals-column.is-open .signals-stage-caption{color:var(--ink-soft)}.signals-stage-title{font-size:.98rem;font-weight:600;color:var(--ink)}.signals-stage-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;margin-left:auto;border:1px solid var(--rule-heavy);border-radius:999px;font-family:var(--mono);font-size:.78rem;line-height:1;color:var(--ink-soft)}.signals-column.is-open .signals-stage-toggle{border-color:var(--accent);color:var(--accent)}.signals-stage-caption{font-size:.76rem;line-height:1.35;color:var(--ink-muted)}.signals-block{display:grid;gap:.7rem;align-content:start;padding:.95rem 1rem 1rem;border-top:1px solid var(--rule);background:var(--paper-warm)}.signals-block-tools{display:flex;flex-wrap:wrap;gap:.4rem}.signals-tool{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font-family:var(--mono);font-size:.64rem;line-height:1;color:var(--ink-soft)}.signals-tool .signal-mark{width:.78rem;height:.78rem}.signals-block-keys{display:flex;flex-wrap:wrap;gap:.32rem .6rem;margin:0;padding:0;list-style:none}.signals-block-keys li{position:relative;padding-left:.65rem;font-size:.76rem;line-height:1.45;color:var(--ink-muted)}.signals-block-keys li:before{content:"";position:absolute;top:.46em;left:0;width:4px;height:4px;border-radius:50%;background:var(--accent)}.signals-detail{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1.25rem 2rem;margin-top:.85rem;padding:1.4rem 1.5rem;border:1px solid var(--accent);border-radius:var(--radius-card);background:var(--accent-soft)}.signals-detail-head{display:flex;align-items:baseline;gap:.5rem}.signals-detail-head h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink)}.signals-detail-step{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--accent)}.signals-detail-body{display:grid;gap:.7rem}.signals-stage-text{margin:0;max-width:52rem;font-size:.95rem;line-height:1.6;color:var(--ink)}.signals-stage-points{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.signals-stage-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.75rem}.signals-stage-points li{position:relative;padding-left:.95rem;font-size:.85rem;line-height:1.5;color:var(--ink-soft)}.signals-stage-points li:before{content:"";position:absolute;top:.5em;left:0;width:6px;height:6px;border-radius:50%;background:var(--accent)}.signals-stage-metric{display:grid;gap:.1rem;margin:0;padding-left:1.1rem;border-left:2px solid var(--accent)}.signals-stage-metric strong{font-family:var(--serif);word-spacing:.1em;font-size:1.7rem;font-weight:500;line-height:1;color:var(--accent)}.signals-stage-metric span{max-width:10rem;font-size:.72rem;line-height:1.35;color:var(--ink-soft)}@media(prefers-reduced-motion:no-preference){.signals-detail{animation:signals-swap .35s cubic-bezier(.22,1,.36,1)}}.signals-art-row,.signals-art-cell,.signals-art-panel,.signals-art-bar{fill:rgba(var(--ink-rgb),.18)}.signals-art-source{fill:rgba(var(--accent-rgb),.65)}.signals-art-source.is-b{fill:rgba(var(--accent-2-rgb),.65)}.signals-art-dot{fill:rgba(var(--accent-rgb),.65)}.signals-art-dot.is-b{fill:rgba(var(--accent-2-rgb),.6)}.signals-art-cell.is-dropped{fill:rgba(var(--accent-2-rgb),.32)}.signals-art-strike{fill:none;stroke:rgba(var(--accent-2-rgb),.95);stroke-width:1.5;stroke-linecap:round}.signals-art-feed{fill:none;stroke:rgba(var(--ink-rgb),.2);stroke-width:1;stroke-dasharray:2 3}.signals-art-packet{fill:rgba(var(--accent-rgb),.85)}.signals-art-rule,.signals-art-split,.signals-art-grid{fill:none;stroke:rgba(var(--ink-rgb),.26);stroke-width:1}.signals-art-grid{stroke:rgba(var(--ink-rgb),.12)}.signals-art-split{stroke-dasharray:3 4}.signals-art-trend{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.signals-art-ping{fill:var(--accent);opacity:0}.signals-art-tag{font-family:var(--mono);font-size:9px;fill:rgba(var(--accent-rgb),.85)}.signals-art-tag.is-b{fill:rgba(var(--accent-2-rgb),.85)}@media(prefers-reduced-motion:no-preference){.is-live .signals-art-packet{transform-box:view-box;animation:signals-fall 3.4s cubic-bezier(.55,0,.6,1) infinite;animation-delay:calc(var(--i) * .19s)}.is-live .signals-art-feed{stroke-dashoffset:0;animation:signals-feed 3.4s linear infinite}.is-live .signals-art-row{transform-box:fill-box;transform-origin:50% 100%;animation:signals-stack 3.4s cubic-bezier(.22,1,.36,1) infinite;animation-delay:calc(.35s + var(--i) * .12s)}.is-live .signals-art-source{animation:signals-pulse 3.4s ease-in-out infinite;animation-delay:calc(var(--i) * .19s)}.is-live .signals-art-cell{transform-box:fill-box;transform-origin:50% 50%;animation:signals-fill 4s ease-in-out infinite;animation-delay:calc(var(--i) * .06s)}.is-live .signals-art-cell.is-dropped{animation-name:signals-drop}.is-live .signals-art-strike{stroke-dasharray:14;animation:signals-strike 4s ease-in-out infinite;animation-delay:calc(var(--i) * .06s)}.is-live .signals-art-dot{transform-box:view-box;animation:signals-separate 4.6s cubic-bezier(.22,1,.36,1) infinite;animation-delay:calc(var(--i) * 35ms)}.is-live .signals-art-tag,.is-live .signals-art-split{animation:signals-label 4.6s ease-in-out infinite}.is-live .signals-art-trend{stroke-dasharray:80;animation:signals-draw 3.8s ease-in-out infinite}.is-live .signals-art-bar{transform-box:fill-box;transform-origin:50% 100%;animation:signals-land 3.8s cubic-bezier(.22,1,.36,1) infinite;animation-delay:calc(.9s + var(--i) * .16s)}.is-live .signals-art-ping{animation:signals-ping 3.8s ease-out infinite}.signals-outcome{animation:signals-swap .4s cubic-bezier(.22,1,.36,1)}}@keyframes signals-land{0%{transform:scaleY(0);opacity:0}22%,78%{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@keyframes signals-fall{0%{transform:translate(0);opacity:0}8%{opacity:1}55%{transform:translate(var(--dx),34px);opacity:1}66%,to{transform:translate(var(--dx),44px);opacity:0}}@keyframes signals-feed{to{stroke-dashoffset:-25}}@keyframes signals-stack{0%{transform:scaleY(0)}40%,82%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes signals-pulse{0%,to{opacity:.25}40%{opacity:1}}@keyframes signals-fill{0%{opacity:.12;transform:scale(.6)}20%,to{opacity:1;transform:scale(1)}}@keyframes signals-drop{0%{opacity:.12;transform:scale(.6)}20%,55%{opacity:1;transform:scale(1)}72%,to{opacity:0;transform:scale(.25)}}@keyframes signals-strike{0%,38%{stroke-dashoffset:14;opacity:1}55%{stroke-dashoffset:0;opacity:1}72%,to{stroke-dashoffset:0;opacity:0}}@keyframes signals-separate{0%{transform:translate(var(--dx),var(--dy)) scale(.55);opacity:.35}45%,80%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.55);opacity:.35}}@keyframes signals-label{0%,25%{opacity:0}50%,82%{opacity:1}to{opacity:0}}@keyframes signals-draw{0%{stroke-dashoffset:80}55%,88%{stroke-dashoffset:0}to{stroke-dashoffset:80}}@keyframes signals-ping{0%,50%{opacity:0;transform:scale(.4)}62%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes signals-swap{0%{opacity:0;transform:translateY(6px)}}@media(max-width:900px){.signals-steps{grid-template-columns:minmax(0,1fr)}.signals-steps .signals-step+.signals-step{margin-left:0;padding-left:0;padding-top:1rem;border-left:0;border-top:1px solid var(--rule)}.signals-outcome{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.25rem}.signals-outcome-col:first-child{grid-column:1 / -1}.signals-detail{grid-template-columns:minmax(0,1fr);gap:.9rem}.signals-stage-points{grid-template-columns:minmax(0,1fr)}.signals-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.signals-tool{font-size:.6rem}}@media(max-width:640px){.signals-stage,.signals-block{padding-inline:.65rem}.signals-tool{padding:.3rem;border-radius:var(--radius-input)}.signals-tool .signal-mark{width:.95rem;height:.95rem}.signals-tool-name{display:none}.signals-block-keys li{font-size:.71rem}.signals-stage-caption{font-size:.72rem}.signals-collecting-chips{display:none}.signals-collecting{gap:.3rem .45rem}}@media(max-width:560px){.signals-builder,.signals-pipeline{padding:1.15rem}.signals-platform,.signals-goal{padding:.42rem .6rem;font-size:.76rem}.signals-brief-cta{width:100%;justify-content:center}}@media(max-width:560px){body .eyebrow,body .tag,body .home-hero-status,body .writing-entry .publications-year-cell,body .publications-year-cell,body .cv-entry-date,body .cv-entry-meta,body .cv-skill-group-label,body .contact-card-label,body .contact-field-label,body .signals-step-label,body .signals-brief-label,body .signals-stage-caption,body .service-card-facts dt,body .signals-brief-facts dt,body .cv-facts dt,body .home-cert-link,body .cv-credential-link,body .signals-outcome-col h3,body .signals-block-keys li,body dt{font-size:.72rem}body .service-card li,body .filter-pill,body .service-card-link,body .contact-card-hint,body .signals-goal{font-size:.82rem}body .work-card-summary,body .service-card-summary{font-size:.86rem}}.rail-section{--rail-size: min(clamp(4.5rem, 8.5vw, 9.5rem), calc(min(70svh, 44rem)/5) );display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.rail-heading{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin:0;font:inherit;letter-spacing:normal}.rail-word{display:block;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:min(5rem,calc((100vw - 2 * var(--page-gutter)) / 5.2));font-weight:900;line-height:.82;letter-spacing:-.035em;text-transform:uppercase;color:var(--accent)}.rail-tag{display:block;max-width:22rem;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:1rem;font-weight:600;line-height:1.3;color:var(--ink-soft)}.rail-aside{margin-top:.9rem;font-size:.9rem}.rail-main{min-width:0}.rail-subhead{margin:0 0 1rem;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}@media(min-width:768px){.rail-section{--rail-gap: clamp(2rem, 5vw, 5rem);grid-template-columns:auto minmax(0,1fr);-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);align-items:start}.rail-side{position:sticky;top:max(calc(5rem + 1px),calc((100svh + 4rem + 1px) / 2 - var(--rail-h, 0px) / 2));width:calc(var(--rail-size) * .82)}.rail-heading{gap:1.4rem}.rail-word{font-size:var(--rail-size);writing-mode:vertical-rl;transform:rotate(180deg)}.rail-tag{width:min(max(100%,7.5rem),calc(100% + var(--rail-gap) - .6rem));font-size:clamp(.9rem,1.05vw,1.05rem);overflow-wrap:break-word}.rail-main{align-self:center}.rail-section.is-right{grid-template-columns:minmax(0,1fr) auto}.rail-section.is-right .rail-side{order:2}.rail-section.is-right .rail-heading{align-items:flex-end}.rail-section.is-right .rail-tag,.rail-section.is-right .rail-aside{text-align:right}}.service-pages{--sp-top: calc(5rem + 1px) ;--sp-step: 1.1rem;display:grid;grid-template-rows:repeat(3,1fr);gap:1.5rem}.service-page{--sp-bg: linear-gradient( 145deg, color-mix(in srgb, var(--accent) 21%, var(--paper-warm)) 0%, color-mix(in srgb, var(--accent) 9%, var(--paper-warm)) 52%, var(--paper-warm) 100% );--sp-ink: var(--ink);--sp-soft: var(--ink-soft);--sp-rule: var(--rule);--sp-chip-bg: var(--paper);--sp-chip-border: var(--rule-heavy);--sp-index: var(--accent);--sp-cta-bg: var(--accent);--sp-cta-ink: #fff;--sp-link: var(--accent);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"head head" "copy media";grid-template-rows:auto 1fr;align-items:stretch;gap:clamp(1.25rem,2.6vw,2.25rem) clamp(1.75rem,4vw,4rem);padding:clamp(1.5rem,3.6vw,3.25rem);border-radius:28px;border:1px solid color-mix(in srgb,var(--sp-index) 24%,var(--sp-rule));background:var(--sp-bg);color:var(--sp-ink);box-shadow:0 1px 2px #0000000d,0 14px 30px -14px #0000002e,0 40px 70px -40px #0000004d;overflow:hidden}.service-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(160deg,#ffffff38,#fff0 40%);box-shadow:inset 0 0 0 1px var(--rule),inset 0 1px #fff9;pointer-events:none}.service-page.is-apps{--sp-bg: linear-gradient(150deg, #1d1d24 0%, #0f0f13 70%);--sp-ink: #f4f4f2;--sp-soft: rgba(244, 244, 242, .72);--sp-rule: rgba(255, 255, 255, .14);--sp-chip-bg: rgba(255, 255, 255, .06);--sp-chip-border: rgba(255, 255, 255, .18);--sp-index: #fff;--sp-cta-bg: #fff;--sp-cta-ink: #111113;--sp-link: #fff}.service-page.is-data{--sp-bg: linear-gradient(150deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 72%, #000) 100%);--sp-ink: #fff;--sp-soft: rgba(255, 255, 255, .82);--sp-rule: rgba(255, 255, 255, .22);--sp-chip-bg: rgba(255, 255, 255, .1);--sp-chip-border: rgba(255, 255, 255, .28);--sp-index: #fff;--sp-cta-bg: #fff;--sp-cta-ink: var(--accent);--sp-link: #fff}.service-page.is-apps:after,.service-page.is-data:after{background:linear-gradient(160deg,#ffffff1f,#fff0 40%);box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 1px #ffffff38}.service-page-copy{display:flex;flex-direction:column;justify-content:space-between;gap:1.1rem;min-width:0}.service-page-head{grid-area:head;display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem clamp(.9rem,1.8vw,1.6rem);padding-bottom:clamp(.9rem,1.6vw,1.3rem);border-bottom:1px solid var(--sp-rule)}.service-page-index{font-family:var(--mono);font-size:clamp(.85rem,1vw,1rem);font-weight:500;letter-spacing:.08em;color:var(--sp-index);translate:0 -.2em}.service-page-name{margin:0;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.2rem,4.8vw,4.8rem);font-weight:900;line-height:.95;letter-spacing:-.04em;text-transform:uppercase;color:var(--sp-ink)}.service-page-count{margin-left:auto;display:inline-flex;align-items:baseline;gap:.4rem;padding:.45rem .9rem;border:1px solid var(--sp-chip-border);border-radius:999px;background:var(--sp-chip-bg);font-size:.85rem;color:var(--sp-soft);white-space:nowrap}.service-page-count strong{font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:1.15rem;font-weight:900;color:var(--sp-ink)}.service-page-copy{grid-area:copy}.service-page-media{grid-area:media}.service-page-pitch{margin:0;font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.4rem,2.2vw,2.2rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--sp-ink)}.service-page-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.4rem;margin:.2rem 0 0;padding:0;list-style:none}.service-page-items li{position:relative;padding-left:1.4rem;font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.45;color:var(--sp-soft)}.service-page-items li:before{content:"";position:absolute;top:.7em;left:0;width:.8rem;height:2px;border-radius:2px;background:var(--sp-index)}.service-page-stack{display:flex;flex-wrap:wrap;gap:.45rem;margin:.3rem 0 0;padding:0;list-style:none}.service-page-stack a{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid var(--sp-chip-border);border-radius:999px;background:var(--sp-chip-bg);font-size:.8rem;font-weight:500;color:var(--sp-soft);transition:border-color .2s ease,color .2s ease,background-color .2s ease}.service-page-stack a:hover{border-color:var(--sp-ink);color:var(--sp-ink)}.service-page-mark{display:inline-block;width:1.05rem;height:1.05rem;flex:0 0 auto;background:var(--brand, currentColor);mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat}html.dark .service-page-mark{background:var(--brand-dark, var(--brand, currentColor))}.service-page.is-apps .service-page-mark,.service-page.is-data .service-page-mark{background:currentColor}.service-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;margin-top:auto;padding-top:.5rem}.site-shell .btn.service-page-cta{border:0;border-radius:999px;padding-inline:1.3rem;background:var(--sp-cta-bg);color:var(--sp-cta-ink);box-shadow:0 10px 22px -10px #00000073,inset 0 1px #ffffff4d;transform:none}.site-shell .btn.service-page-cta:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px #00000080,inset 0 1px #ffffff4d}.service-page-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--sp-link)}.service-page-link svg{width:.95rem;height:.95rem;transition:transform .2s cubic-bezier(.22,1,.36,1)}.service-page-link:hover svg{transform:translate(3px)}.service-page-media{align-self:center;margin:0;min-width:0;padding:.5rem;border:1px solid var(--rule);border-radius:22px;background:var(--paper-warm);box-shadow:0 1px 2px #0000000d,0 18px 36px -16px #00000047,0 44px 80px -40px #00000059,inset 0 1px #ffffffb3;transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .8s ease}html.dark .service-page-media{box-shadow:0 1px 2px #00000059,0 18px 36px -16px #000000a6,inset 0 1px #ffffff0d}@media(prefers-reduced-motion:no-preference){.service-page:not(.is-in) .service-page-media{opacity:0;transform:translateY(40px)}.service-page.is-from-above:not(.is-in) .service-page-media{transform:translateY(-40px)}}.service-page-frame{position:relative;display:block;aspect-ratio:16 / 10;border-radius:15px;overflow:hidden;background:#0d0d10}.service-page-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.08);pointer-events:none}.service-page-frame video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.service-page-caption{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .35rem .35rem .55rem}.service-page-caption-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.service-page-caption-title{font-family:Satoshi,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1rem,1.25vw,1.15rem);font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}.service-page-caption-kicker{font-size:.9rem;font-weight:500;color:var(--ink-muted)}.service-page-caption-action{display:inline-flex;flex-shrink:0;align-items:center;gap:.4rem;padding:.6rem 1rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.88rem;font-weight:600;line-height:1;box-shadow:0 6px 14px -6px #2563eb99;transition:background-color .2s ease,box-shadow .2s ease}.service-page-caption-action svg{width:1rem;height:1rem;transition:transform .25s cubic-bezier(.22,1,.36,1)}.service-page-caption-action:hover,.service-page-caption-action:focus-visible{background:color-mix(in srgb,var(--accent) 88%,#000);box-shadow:0 8px 18px -6px #2563ebb3}.service-page-caption-action:hover svg,.service-page-caption-action:focus-visible svg{transform:translate(2px)}.service-page.is-apps{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-areas:"head head" "media copy"}html.dark .service-page{box-shadow:0 1px 2px #0006,0 16px 34px -14px #0009,0 44px 80px -40px #000000bf}html.dark .service-page.is-websites:after{box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 1px #ffffff29}@media(min-width:1024px)and (min-height:760px){.service-pages{gap:55svh}.service-pages:after{content:"";height:0}.service-page{position:sticky;top:calc(var(--sp-top) + var(--page-i) * var(--sp-step));min-height:calc(100svh - var(--sp-top) - 3 * var(--sp-step) - 1rem)}}@media(max-width:1023px){.service-page,.service-page.is-apps{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "media" "copy"}.service-page{border-radius:22px}}@media(prefers-reduced-motion:reduce){.service-page-media{transition:none}}@media(max-width:560px){.service-page-items{grid-template-columns:minmax(0,1fr)}.service-page-count{margin-left:0}}.page-lead{max-width:50rem;margin:0 0 clamp(1.75rem,3.5vw,2.75rem);font-size:clamp(1.1rem,1.45vw,1.35rem);line-height:1.55;color:var(--ink-soft);text-wrap:pretty}.filter-bar-icon{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-right:.15rem;color:var(--ink-soft)}.filter-bar-icon svg{width:1.2rem;height:1.2rem}.rail-main .filter-bar{justify-content:flex-start;align-items:center;margin-bottom:clamp(1.25rem,2.5vw,2rem)}@media(max-width:767px){.rail-section{gap:.9rem}.rail-heading{gap:.35rem}.rail-word{font-size:min(3.3rem,calc((100vw - 2 * var(--page-gutter)) / 5.2))}.rail-tag{font-size:.95rem}.page-lead{margin-bottom:1.25rem;font-size:1.02rem}.service-pages{gap:1rem}.service-page{gap:.9rem;padding:1.1rem;border-radius:18px}.service-page-head{gap:.3rem .6rem;padding-bottom:.7rem}.service-page-name{font-size:1.6rem}.service-page-count{padding:.28rem .6rem;font-size:.74rem}.service-page-count strong{font-size:.95rem}.service-page-copy{gap:.75rem}.service-page-pitch{font-size:1.15rem}.service-page-items{gap:.35rem}.service-page-items li{font-size:.86rem}.service-page-stack{gap:.3rem}.service-page-stack a{padding:.28rem .55rem;font-size:.72rem}.service-page-media{padding:.35rem;border-radius:16px}.service-page-frame{border-radius:11px}.service-page-caption{padding:.65rem .25rem .25rem .4rem}.service-page-caption-title{font-size:.92rem}.service-page-caption-kicker{font-size:.76rem}.service-page-caption-action{padding:.5rem .8rem;font-size:.8rem}}@media(max-width:1023px){.service-page:not(.is-in) .service-page-media{opacity:1;transform:none}}.rail-section{content-visibility:auto;contain-intrinsic-size:auto 900px;padding-block:3rem;margin-block:-3rem}@media(pointer:coarse){body .filter-pill,body .service-page-link,body .service-card-link,body .publications-link-button,body .home-inline-link,body .home-github-year,body .site-footer-links a{min-height:36px}body .service-page-stack a{min-height:34px}body .site-footer-social a{width:40px;height:40px}body .contact-card-links a,body .writing-detail-source-link,body .signals-pipeline-link,body .quick-brief-more,body .site-footer-bottom a{padding-block:10px;margin-block:-10px}body .cv-facts dd a,body .home-close-details dd a{padding-block:12px}body .cv-credential-link,body .home-cert-link{padding-block:10px;margin-top:.2rem;font-size:max(.72rem,10.5px)}}html.dark .signals-goal.is-active,html.dark .signals-detail-step,html.dark .signals-brief-facts dd,html.dark .signals-brief-label{color:var(--accent-strong)}.tone-blue{--tone: #2563eb;--tone-rgb: 37, 99, 235}.tone-violet{--tone: #7c3aed;--tone-rgb: 124, 58, 237}.tone-amber{--tone: #b45309;--tone-rgb: 180, 83, 9}.tone-green{--tone: #047857;--tone-rgb: 4, 120, 87}html.dark .tone-blue{--tone: #60a5fa;--tone-rgb: 96, 165, 250}html.dark .tone-violet{--tone: #a78bfa;--tone-rgb: 167, 139, 250}html.dark .tone-amber{--tone: #fbbf24;--tone-rgb: 251, 191, 36}html.dark .tone-green{--tone: #34d399;--tone-rgb: 52, 211, 153}:is(.tone-blue,.tone-violet,.tone-amber,.tone-green){--accent: var(--tone);--accent-strong: var(--tone);--accent-rgb: var(--tone-rgb);--accent-soft: rgba(var(--tone-rgb), .12)}.signals-rail{gap:clamp(.75rem,1.4vw,1.1rem)}.signals-column{position:relative;border-color:var(--rule);border-radius:20px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.14),rgba(var(--accent-rgb),0) 55%),var(--paper-warm);box-shadow:var(--shadow-md);transition:border-color .25s ease,box-shadow .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}.signals-column:hover,.signals-column.is-open{border-color:rgba(var(--accent-rgb),.55);box-shadow:var(--shadow-lg),0 14px 30px -18px rgba(var(--accent-rgb),.55);transform:translateY(-3px)}.signals-column .signals-art{border:1px solid rgba(var(--accent-rgb),.16);border-radius:14px;background:rgba(var(--accent-rgb),.07)}.signals-column:not(.is-open) .signals-art{opacity:1}.signals-column.is-open .signals-stage{background:transparent}.signals-rail .signals-column .signals-stage-step{padding:.12rem .5rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:600}html.dark .signals-rail .signals-column .signals-stage-step{color:#0b0b0d}.signals-column .signals-stage-title{font-weight:700}.site-shell .service-card,.site-shell .work-card,.site-shell .home-value,.site-shell .home-engage-card,.site-shell .home-cert-card,.site-shell .home-stats-strip article,.site-shell .contact-card,.site-shell .contact-form-shell,.site-shell .cta-band,.site-shell .home-contact-panel,.site-shell .cv-facts,.site-shell .contact-next-list li,.site-shell .services-process-step,.site-shell .project-meta-panel,.site-shell .home-project-card,.site-shell .build-track-panel,.site-shell .faq-list,.site-shell .surface-panel{position:relative;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:0 1px 2px #0000000a,0 10px 24px -12px #00000024,0 28px 50px -30px #0003,inset 0 1px #ffffffb3;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1),border-color .2s ease}html.dark .site-shell .service-card,html.dark .site-shell .work-card,html.dark .site-shell .home-value,html.dark .site-shell .home-engage-card,html.dark .site-shell .home-cert-card,html.dark .site-shell .contact-card,html.dark .site-shell .contact-form-shell,html.dark .site-shell .cta-band,html.dark .site-shell .home-contact-panel,html.dark .site-shell .cv-facts,html.dark .site-shell .contact-next-list li,html.dark .site-shell .services-process-step,html.dark .site-shell .project-meta-panel,html.dark .site-shell .home-project-card,html.dark .site-shell .build-track-panel,html.dark .site-shell .faq-list,html.dark .site-shell .surface-panel{box-shadow:0 1px 2px #0000004d,0 12px 26px -12px #0000008c,inset 0 1px #ffffff0d}.site-shell .service-card:before,.site-shell .work-card:before,.site-shell .home-engage-card:before,.site-shell .home-cert-card:before,.site-shell .contact-card:before,.site-shell .cta-band:before{display:none}.site-shell .service-card:hover,.site-shell .work-card:hover,.site-shell .home-value:hover,.site-shell .home-engage-card:hover,.site-shell .home-cert-card:hover,.site-shell .contact-card.is-link:hover,.site-shell .home-project-card:hover{transform:translateY(-3px);border-color:var(--rule-heavy);box-shadow:0 2px 4px #0000000d,0 16px 32px -12px #0003,0 36px 60px -30px #00000042,inset 0 1px #ffffffb3}html.dark .site-shell .service-card:hover,html.dark .site-shell .work-card:hover,html.dark .site-shell .home-value:hover,html.dark .site-shell .home-engage-card:hover,html.dark .site-shell .home-cert-card:hover,html.dark .site-shell .contact-card.is-link:hover,html.dark .site-shell .home-project-card:hover{box-shadow:0 2px 4px #00000059,0 18px 34px -12px #000000a6,inset 0 1px #ffffff0f}.service-card-index{padding:.22rem .6rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink-soft);font-weight:500}.service-card-list li:before,.contact-bestfor li:before{width:6px;height:6px;border-radius:50%;background:var(--accent)}.tag{border-radius:999px;border-color:var(--rule);background:var(--paper);color:var(--ink-soft)}.btn,.section-pill{position:relative;border-radius:999px;border:1px solid var(--rule-heavy);background:var(--paper-warm);color:var(--ink);box-shadow:var(--shadow-sm);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.btn:hover,.btn:focus-visible,.section-pill:hover,.section-pill:focus-visible{color:var(--ink);border-color:var(--ink-muted);background:var(--paper-warm);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 6px 14px -6px rgba(var(--accent-rgb),.6)}.btn-primary:hover,.btn-primary:focus-visible{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff;transform:translateY(-1px);box-shadow:0 10px 20px -8px rgba(var(--accent-rgb),.65)}html.dark .btn-primary,html.dark .btn-primary:hover,html.dark .btn-primary:focus-visible{color:#fff}html.dark .btn-primary:hover,html.dark .btn-primary:focus-visible{border-color:#2563eb;background:#2563eb}.btn-primary:after,.home-contact-link:after{display:none}.work-card-cover{border-bottom:0}.work-card-cover img{transition:transform .7s cubic-bezier(.22,1,.36,1)}.work-card:hover .work-card-cover img{transform:scale(1.03)}.work-card-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.08);pointer-events:none}.home-section-head h2,.section-title,.home-about-copy h2,.cta-band-copy h2,.contact-head h1,.faq-head h2,.contact-next-head h2{font-family:var(--serif);word-spacing:.1em;font-weight:500;letter-spacing:-.015em}.home-section-head h2 em{font-family:var(--serif-italic);font-style:italic;color:var(--accent)}.rotating-word{position:relative;display:inline-grid;margin-left:.3em;padding:0 .15em;vertical-align:bottom;overflow:hidden;color:var(--ink);font-family:var(--serif-italic);font-style:italic;font-weight:500}.rotating-word:before{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.42em;z-index:-1;background:rgba(var(--accent-rgb),.2);transform-origin:left;animation:highlightIn .5s cubic-bezier(.22,1,.36,1) both}.rotating-word-sizer{display:none}.rotating-word-current{grid-area:1 / 1;white-space:nowrap;animation:rotatingWordIn .38s cubic-bezier(.22,1,.36,1) both}.rotating-word-current.is-leaving{animation:rotatingWordOut .3s cubic-bezier(.4,0,1,1) both}@keyframes highlightIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rotatingWordIn{0%{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rotatingWordOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-110%);opacity:0}}.odometer{display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums}.odometer-digit{display:inline-block;height:1em;overflow:hidden;line-height:1}.odometer-digit span{display:block;transform:translateY(calc(var(--d, 0) * -1em));transition:transform 1.1s cubic-bezier(.22,1,.36,1)}.odometer-digit:nth-child(2) span{transition-delay:.08s}.odometer-digit:nth-child(3) span{transition-delay:.16s}.odometer-digit:nth-child(4) span{transition-delay:.24s}.odometer-digit:nth-child(5) span{transition-delay:.32s}.odometer-digit span i{display:block;height:1em;font-style:normal}.marquee{--marquee-duration: 40s;position:relative;overflow:hidden}.home-builds-strip .marquee{padding-block:.65rem}.marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:marqueeScroll var(--marquee-duration) linear infinite}.marquee.is-reverse .marquee-track{animation-direction:reverse}.marquee:hover .marquee-track{animation-play-state:paused}.marquee ul{display:flex;gap:.5rem;margin:0;padding:0 .25rem;list-style:none}.marquee li,.marquee li>a{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap}.marquee li{padding:.45rem .9rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper-warm);font-size:.84rem;font-weight:500;color:var(--ink)}.home-builds-strip .marquee li span{padding:.15rem .45rem;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}.home-tools .marquee li{padding:.3rem 0;border:0;border-radius:0;background:none;transition:color .2s ease}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track{flex-wrap:wrap;width:auto;animation:none}.marquee ul[aria-hidden=true]{display:none}.marquee ul{flex-wrap:wrap}}.home-profile-marker{border-radius:50%;background:var(--accent)}@media(prefers-reduced-motion:no-preference){.home-profile-row:before{transform:scaleY(0);transform-origin:top;transition:transform .9s cubic-bezier(.22,1,.36,1) .2s}.reveal.is-revealed .home-profile-row:before{transform:scaleY(1)}.reveal.is-from-above .home-profile-row:before{transform-origin:bottom}}.home-stats-strip{gap:0;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--cut);overflow:hidden}.home-stats-strip article{border:0;border-right:1px solid var(--rule);border-radius:0;box-shadow:none}.home-stats-strip article:last-child{border-right:0}.home-stats-strip article:hover{transform:none;box-shadow:none;background:var(--accent-soft)}.home-stats-strip strong{font-family:var(--serif);word-spacing:.1em;font-weight:500}.home-hero-status{border-radius:999px;border:1px solid var(--rule);background:var(--paper-warm);box-shadow:var(--shadow-sm)}.home-hero-status-dot{border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.home-hero-name{font-family:var(--serif);word-spacing:.1em;font-weight:500;letter-spacing:-.02em}.hero-split-word{font-family:var(--serif);word-spacing:.1em;font-weight:500;letter-spacing:-.03em}@media(prefers-reduced-motion:no-preference){.hero-portrait{animation:portraitIn 1.1s cubic-bezier(.22,1,.36,1) both}}@keyframes portraitIn{0%{transform:translate3d(-50%,18px,0)}to{transform:translate3d(-50%,0,0)}}.home-builds-strip{display:grid;gap:.75rem;padding-top:.5rem}.home-builds-strip-label{text-align:center;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.site-shell .contact-input,.site-shell .contact-textarea,.site-shell .editorial-input{border-radius:var(--radius-input);border-color:var(--rule-heavy);background:var(--paper-warm);box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}.site-shell .contact-input:focus,.site-shell .contact-textarea:focus,.site-shell .editorial-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.15)}@media(max-width:767px){.marquee li{padding:.38rem .7rem;font-size:.76rem}}.home-process{position:relative}.home-process:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:repeating-linear-gradient(180deg,transparent 0 31px,rgba(var(--ink-rgb),.05) 31px 32px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.home-process-inner{display:grid;gap:2.5rem;padding:3.5rem 0 3rem}.process-rail{--rail-top: 1.15rem;position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin:0 -10px;padding:2.4rem 10px 10px;overflow:clip;list-style:none}.process-rail:before{content:"";position:absolute;top:var(--rail-top);left:10px;right:10px;height:0;border-top:2px dashed var(--rule-heavy);transform:scaleX(0);transform-origin:left}.process-step{position:relative;min-height:12.5rem;perspective:1200px;outline:none}.process-step:before{content:"";position:absolute;top:calc(-2.4rem + var(--rail-top) - 5px);left:1rem;z-index:1;width:12px;height:12px;border:2px solid var(--accent);border-radius:50%;background:var(--paper-warm)}.process-rail-signal{position:absolute;top:calc(var(--rail-top) - 4px);left:0;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2);opacity:0;will-change:transform;pointer-events:none}.process-step:before{transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease}.process-step.is-hit:before{transform:scale(1.6);background:var(--accent);box-shadow:0 0 0 7px rgba(var(--accent-rgb),.28)}.process-step-face.is-front{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.process-step.is-hit .process-step-face.is-front{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(var(--accent-rgb),.55)}.process-step.is-hit .process-step-index{background:var(--accent);border-color:var(--accent);color:#fff}.process-step-card{position:relative;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.22,1,.36,1)}.process-step:hover .process-step-card,.process-step:focus-visible .process-step-card{transform:rotateY(180deg)}.process-step-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;gap:.45rem;align-content:start;padding:1.05rem 1rem 1.1rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--cut);backface-visibility:hidden;-webkit-backface-visibility:hidden}.process-step-face.is-back{transform:rotateY(180deg);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-md)}.process-step-face.is-back .process-step-index{border-color:rgba(var(--paper-rgb),.35);background:transparent;color:var(--paper)}.process-step-face.is-back p{color:var(--paper);font-family:var(--serif-italic);font-style:italic;font-size:.98rem;line-height:1.45}.process-step-index{width:-moz-fit-content;width:fit-content;padding:.2rem .55rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--ink)}.process-step h3{font-size:1.02rem}.process-step p{margin:0;font-size:.84rem;line-height:1.5;color:var(--ink-soft)}@media(prefers-reduced-motion:no-preference){.process-rail:before{transition:transform 1.2s cubic-bezier(.22,1,.36,1) .15s}.reveal.is-revealed .process-rail:before{transform:scaleX(1)}.process-step{opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .55s cubic-bezier(.22,1,.36,1)}.reveal.is-revealed .process-step{opacity:1;transform:none}.process-step:nth-child(1){transition-delay:.35s}.process-step:nth-child(2){transition-delay:.5s}.process-step:nth-child(3){transition-delay:.65s}.process-step:nth-child(4){transition-delay:.8s}.process-step:nth-child(5){transition-delay:.95s}.process-step:nth-child(6){transition-delay:1.1s}.reveal.is-from-above .process-rail:before{transform-origin:right}.reveal.is-from-above:not(.is-revealed) .process-step{transform:translateY(-16px)}.reveal.is-from-above .process-step:nth-last-child(1){transition-delay:.35s}.reveal.is-from-above .process-step:nth-last-child(2){transition-delay:.5s}.reveal.is-from-above .process-step:nth-last-child(3){transition-delay:.65s}.reveal.is-from-above .process-step:nth-last-child(4){transition-delay:.8s}.reveal.is-from-above .process-step:nth-last-child(5){transition-delay:.95s}.reveal.is-from-above .process-step:nth-last-child(6){transition-delay:1.1s}}.home-process-ways-label{margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid var(--rule);font-family:var(--serif);word-spacing:.1em;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}@media(max-width:767px){.home-process-ways-label{margin-top:1.1rem;padding-top:1.1rem}}.engage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,1.6vw,1.4rem);align-items:stretch}.site-shell .home-engage-card{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.2rem,2vw,1.6rem);border-radius:22px;overflow:hidden}.site-shell .home-engage-card:before{content:"";display:block;position:absolute;inset:0 0 auto;height:7rem;background:linear-gradient(180deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),0));pointer-events:none}.engage-card-top{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.engage-card-icon{display:grid;place-items:center;width:2.9rem;height:2.9rem;border:1px solid rgba(var(--accent-rgb),.2);border-radius:14px;background:var(--paper-warm);color:var(--accent);box-shadow:var(--shadow-sm);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.engage-card-icon svg{width:1.35rem;height:1.35rem}.home-engage-card:hover .engage-card-icon{border-color:var(--accent);background:var(--accent);color:#fff}.engage-card-terms{padding:.3rem .75rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper-warm);font-size:.76rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}.home-engage-card h4{margin:0;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:700;letter-spacing:-.01em;color:var(--ink)}.home-engage-card>p{margin:0;font-size:.92rem;line-height:1.6;color:var(--ink-soft)}.engage-card-points{display:grid;gap:.55rem;margin:.3rem 0 0;padding:.95rem 0 0;border-top:1px solid var(--rule);list-style:none}.engage-card-points li{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;line-height:1.45;color:var(--ink)}.engage-card-points svg{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.05rem;padding:.12rem;border-radius:50%;background:var(--accent-soft);fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.engage-card-link{display:inline-flex;align-items:center;gap:.35rem;width:-moz-fit-content;width:fit-content;margin-top:auto;padding-top:.9rem;font-size:.9rem;font-weight:600;color:var(--accent)}.engage-card-link span{transition:translate .25s cubic-bezier(.22,1,.36,1)}.engage-card-link:hover span{translate:3px 0}html.dark .engage-card-link,html.dark .engage-card-icon{color:var(--accent-strong)}html.dark .home-engage-card:hover .engage-card-icon{color:#fff}@media(max-width:1100px){.engage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.engage-grid>:last-child{grid-column:1 / -1}}.home-process-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding:1.25rem 1.4rem;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--cut)}.home-process-cta p{max-width:46ch;margin:0;font-family:var(--serif-italic);font-style:italic;font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--ink)}.home-tools-section .home-tools{margin-top:0;padding-top:0;border-top:0}@media(max-width:1024px){.process-rail{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:10px}.process-rail:before,.process-step:before{display:none}}@media(max-width:767px){.home-process-inner{gap:1.6rem;padding:2.25rem 0 2rem}.process-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.process-step{min-height:9.25rem}.process-step-face{padding:.85rem .85rem .9rem}.process-step h3{font-size:.9rem}.process-step-face.is-back p{font-size:.88rem}.process-step p{font-size:.76rem}.site-shell .home-engage-card{gap:.5rem;padding:.9rem;border-radius:16px}.engage-card-top{gap:.4rem}.engage-card-icon{width:2.3rem;height:2.3rem;border-radius:11px}.engage-card-icon svg{width:1.1rem;height:1.1rem}.engage-card-terms{padding:.22rem .55rem;font-size:.68rem}.home-engage-card h4{font-size:.98rem}.home-engage-card>p,.engage-card-points li{font-size:.78rem}.home-process-cta{flex-direction:column;align-items:flex-start;padding:1rem}}.home-github-card{border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--cut)}.home-github-scroll{position:relative;outline:none}.home-github-scroll:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.home-github-scroll.is-playing{cursor:crosshair;touch-action:none}.home-github-day{border-radius:1px;transition:transform .2s ease,opacity .2s ease,background-color .25s ease}.home-github-day.is-eaten{background:repeating-linear-gradient(-45deg,rgba(var(--ink-rgb),.35) 0 1px,transparent 1px 3px)!important;transform:scale(.72)}.home-github-day.is-nibbled{transform:scale(1.35);background:var(--accent)!important}.home-github-snake{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.home-github-card:not(.is-playing) .home-github-snake-seg{pointer-events:auto;cursor:pointer}.home-github-card:not(.is-playing) .home-github-snake-seg:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.home-github-quip{position:absolute;z-index:8;display:grid;gap:.25rem;width:-moz-max-content;width:max-content;max-width:15rem;padding:.55rem .8rem;border:1px solid var(--rule);border-radius:12px;background:var(--paper-warm);color:var(--ink);font-family:var(--serif-italic);font-style:italic;font-size:.86rem;line-height:1.3;transform:translate(-50%,calc(-100% - 12px));box-shadow:var(--shadow-md);animation:quipIn .35s cubic-bezier(.34,1.56,.64,1) both;pointer-events:auto}@keyframes quipIn{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px)) scale(.9)}to{opacity:1;transform:translate(-50%,calc(-100% - 12px)) scale(1)}}.home-github-quip a{font-family:var(--mono);font-style:normal;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.home-github-quip:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper-warm);transform:translate(-50%) rotate(45deg)}.home-github-snake-seg{position:absolute;top:0;left:0;width:12px;height:12px;border-radius:3px;background:var(--accent);opacity:0;transition:transform .22s linear,opacity .3s ease;will-change:transform}.home-github-snake-seg[data-head=true]{background:var(--ink);border-radius:4px;transform-origin:center}.home-github-snake-seg[data-head=true]:after{content:"";position:absolute;top:25%;right:20%;width:3px;height:3px;background:var(--paper)}.home-github-card.is-idle .home-github-snake-seg{opacity:.55}.home-github-tooltip{position:absolute;z-index:6;display:grid;gap:.1rem;padding:.45rem .7rem;border:0;border-radius:10px;background:var(--ink);color:var(--paper);font-size:.72rem;line-height:1.3;white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));box-shadow:var(--shadow-md);pointer-events:none}.home-github-tooltip strong{font-weight:600;color:var(--paper)}.home-github-tooltip span{color:rgba(var(--paper-rgb),.75);font-family:var(--mono);font-size:.6rem;letter-spacing:.04em}.home-github-tooltip:after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:var(--ink);transform:translate(-50%) rotate(45deg)}.home-github-stage{position:relative}.home-github-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem;padding:.6rem .8rem;background:rgba(var(--paper-rgb),.86);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);text-align:center}.home-github-overlay-stamp{padding:.3rem .8rem;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;animation:stampIn .4s cubic-bezier(.22,1,.36,1) both}.home-github-overlay strong{font-family:var(--serif);word-spacing:.1em;font-size:1.2rem;font-weight:500;color:var(--ink)}.home-github-overlay>span:not(.home-github-overlay-stamp){font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.home-github-overlay-actions{display:flex;gap:.5rem}.home-github-overlay-actions .btn{padding:.45rem .8rem;font-size:.78rem}@keyframes stampIn{0%{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:none}}.home-github-game{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem 1.25rem;align-items:center;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--rule)}.home-github-game-score{display:flex;flex-wrap:wrap;gap:.4rem}.home-github-game-tab{display:inline-flex;align-items:baseline;gap:.35rem;padding:.32rem .7rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.home-github-game-tab strong{font-family:var(--serif);word-spacing:.1em;font-size:1.05rem;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.home-github-card.is-playing .home-github-game-tab:first-child{background:var(--accent);border-color:var(--accent);color:#fff}.home-github-card.is-playing .home-github-game-tab:first-child strong{color:#fff}.home-github-game-hint{margin:0;font-family:var(--serif-italic);font-style:italic;font-size:.95rem;color:var(--ink-soft)}.home-github-game-controls{display:flex;align-items:center;gap:.75rem}.home-github-game-controls .btn{padding:.5rem .9rem;font-size:.8rem}.home-github-dpad{display:grid;grid-template-areas:". up ." "left down right";gap:3px}.home-github-dpad button{width:2rem;height:2rem;border:1px solid var(--rule-heavy);border-radius:10px;background:var(--paper-warm);color:var(--ink);font-size:.85rem;line-height:1;box-shadow:var(--shadow-sm);transition:transform .1s ease,box-shadow .1s ease;-webkit-tap-highlight-color:transparent}.home-github-dpad button:active{transform:scale(.94);box-shadow:none}.home-github-footer>span:first-child{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}@media(max-width:767px){.home-github-game{grid-template-columns:1fr;gap:.6rem}.home-github-game-controls{flex-direction:column;align-items:center;gap:1rem}.home-github-dpad button{width:2.4rem;height:2.4rem}}.site-shell .home-cert-mark{border:1px solid rgba(var(--accent-rgb),.2);border-radius:12px;background:var(--accent-soft);color:var(--accent);font-family:var(--serif);word-spacing:.1em;font-size:1.05rem;font-weight:500;letter-spacing:0;text-transform:none}.site-shell .home-contact-copy h3{font-family:var(--serif);word-spacing:.1em;font-weight:500;letter-spacing:-.015em}.site-shell .home-contact-link{border-radius:999px;border:1px solid var(--accent);box-shadow:0 6px 14px -6px rgba(var(--accent-rgb),.6)}.site-shell .home-contact-link:hover,.site-shell .home-contact-link:focus-visible{transform:translateY(-1px);box-shadow:0 10px 20px -8px rgba(var(--accent-rgb),.65)}.site-shell .contact-card-icon{border:1px solid rgba(var(--accent-rgb),.2);border-radius:12px;background:var(--accent-soft);color:var(--accent)}.site-shell .contact-card.is-guarantee .contact-card-icon{border-color:rgba(var(--paper-rgb),.5);background:transparent;color:var(--paper)}.site-shell .contact-bestfor li:before,.site-shell .service-card-list li:before{width:6px;height:6px;border-radius:50%;background:var(--accent)}.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;flex:0 0 auto;border:1px solid var(--rule-heavy);border-radius:999px;background:var(--paper-warm);color:var(--ink);box-shadow:var(--shadow-sm);isolation:isolate;transition:background-color .35s ease,color .35s ease,box-shadow .35s ease}.theme-toggle-icon{position:relative;z-index:2;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease}.theme-toggle-glow,.theme-toggle-shade{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:1;border-radius:999px;opacity:0;pointer-events:none}.theme-toggle-glow{background:radial-gradient(circle,rgba(255,196,92,.55) 0%,rgba(255,196,92,.18) 45%,transparent 70%);transform:scale(.4);transition:opacity .35s ease,transform .55s cubic-bezier(.22,1,.36,1)}.theme-toggle-rays path{transform-box:view-box;transform-origin:12px 12px;transform:scale(.72);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.theme-toggle.is-sun:hover,.theme-toggle.is-sun:focus-visible{color:#ffd27a;box-shadow:0 0 0 3px #ffc45c2e}.theme-toggle.is-sun:hover .theme-toggle-glow,.theme-toggle.is-sun:focus-visible .theme-toggle-glow{opacity:1;transform:scale(1.9)}.theme-toggle.is-sun:hover .theme-toggle-rays path,.theme-toggle.is-sun:focus-visible .theme-toggle-rays path{transform:scale(1.12)}.theme-toggle.is-sun:hover .theme-toggle-icon,.theme-toggle.is-sun:focus-visible .theme-toggle-icon{animation:sunTurn 6s linear infinite}.theme-toggle.is-sun:hover .theme-toggle-core{animation:sunBreathe 1.6s ease-in-out infinite}.theme-toggle-shade{background:var(--ink);transform:scale(0);transition:opacity .3s ease,transform .5s cubic-bezier(.22,1,.36,1)}.theme-toggle.is-moon:hover,.theme-toggle.is-moon:focus-visible{color:var(--paper);box-shadow:0 0 0 4px rgba(var(--ink-rgb),.08),0 0 24px rgba(var(--ink-rgb),.25)}.theme-toggle.is-moon:hover .theme-toggle-shade,.theme-toggle.is-moon:focus-visible .theme-toggle-shade{opacity:1;transform:scale(1)}.theme-toggle.is-moon:hover .theme-toggle-icon,.theme-toggle.is-moon:focus-visible .theme-toggle-icon{transform:rotate(-22deg) scale(.92);opacity:.8}.theme-toggle.is-moon:hover .theme-toggle-moon{animation:moonDim 2.2s ease-in-out infinite}.theme-toggle:active .theme-toggle-icon{transform:scale(.8)}@keyframes sunTurn{to{transform:rotate(360deg)}}@keyframes sunBreathe{0%,to{r:4}50%{r:4.8}}@keyframes moonDim{0%,to{opacity:.8}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.theme-toggle-icon,.theme-toggle-core,.theme-toggle-moon{animation:none!important}}.home-about-word{display:inline-block;margin-right:.28em}.home-about-word:nth-last-child(-n+3){font-style:italic;color:var(--accent)}.mark-sweep{padding:0 .12em;color:var(--ink);font-weight:500;background-color:transparent;background-image:linear-gradient(rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.16));background-repeat:no-repeat;background-position:0 85%;background-size:100% 78%;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-text-decoration:underline 2px transparent;text-decoration:underline 2px transparent;text-underline-offset:.18em;transition:background-image .2s ease,text-decoration-color .25s ease}.mark-sweep:hover{background-image:linear-gradient(rgba(var(--accent-rgb),.28),rgba(var(--accent-rgb),.28));text-decoration-color:var(--accent)}.home-value{position:relative;overflow:hidden}.home-value-index{position:absolute;right:.7rem;bottom:-.2rem;font-family:var(--serif);word-spacing:.1em;font-size:1.9rem;font-weight:500;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(var(--ink-rgb),.22);pointer-events:none;transition:color .3s ease,transform .4s cubic-bezier(.22,1,.36,1)}.home-value:hover .home-value-index{color:rgba(var(--accent-rgb),.9);-webkit-text-stroke:0;transform:translateY(-.2rem) rotate(-6deg)}.home-value:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(var(--accent-rgb),.45);border-radius:inherit;opacity:0;transform:scale(1.04);transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1);pointer-events:none}.home-value:hover:after{opacity:1;transform:none}.home-value h3{position:relative;width:-moz-fit-content;width:fit-content}.home-value h3:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}.home-value:hover h3:after{transform:scaleX(1)}@media(prefers-reduced-motion:no-preference){.home-about-word{opacity:0;transform:translateY(.6em) rotate(2deg);transform-origin:left bottom;transition:opacity .5s ease,transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(.08s * var(--i, 0))}.reveal.is-revealed .home-about-word{opacity:1;transform:none}.mark-sweep{background-size:0% 78%;transition:background-size .6s cubic-bezier(.22,1,.36,1) calc(.5s + .3s * var(--i, 0)),background-image .2s ease,text-decoration-color .25s ease}.reveal.is-revealed .mark-sweep{background-size:100% 78%}.home-value{opacity:0;transform:translate(40px,-10px) rotate(4deg);transition:opacity .4s ease,transform .75s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .2s;transition-delay:calc(.35s + .16s * var(--i, 0))}.reveal.is-revealed .home-value{opacity:1;transform:none;transition-delay:calc(.35s + .16s * var(--i, 0)),calc(.35s + .16s * var(--i, 0)),0s,0s}.reveal.is-revealed .home-value:hover{transform:translateY(-3px);transition-delay:0s}.reveal.is-from-above:not(.is-revealed) .home-about-word{transform:translateY(-.6em) rotate(-2deg)}.reveal.is-from-above .mark-sweep{background-position:100% 85%}.reveal.is-from-above:not(.is-revealed) .home-value{transform:translate(-40px,10px) rotate(-4deg)}}.tool-chip{display:inline-flex;align-items:center;gap:.5rem}.tool-chip-icon{display:inline-block;width:1rem;height:1rem;flex:0 0 auto;background:currentColor;mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat}.home-tools .marquee li:hover{color:var(--accent)}@keyframes m-in{0%{opacity:0;translate:var(--m-x, 0) calc(var(--m-y, 28px) * var(--m-dir, 1));scale:var(--m-scale, 1)}}@media(prefers-reduced-motion:no-preference){.reveal.is-from-above,.vp-section.is-from-above{--m-dir: -1}html.scroll-fx .rail-section:not(.is-revealed) :is(.rail-word,.rail-tag,.rail-aside),html.scroll-fx .rail-section:not(.is-revealed) .rail-main>:not(.fade-up,.stagger){opacity:0}.rail-section .rail-word{--m-x: -80px;--m-y: 60px}.rail-section.is-right .rail-word{--m-x: 80px}.rail-section.is-revealed .rail-word{animation:m-in 1s cubic-bezier(.16,1,.3,1) backwards}.rail-section.is-revealed :is(.rail-tag,.rail-aside){--m-y: 14px;animation:m-in .8s cubic-bezier(.22,1,.36,1) .2s backwards}.rail-section.is-revealed .rail-main>:not(.fade-up,.stagger){--m-y: 32px;animation:m-in .85s cubic-bezier(.22,1,.36,1) var(--m-delay, .12s) backwards}.rail-main>:nth-child(2){--m-delay: .2s}.rail-main>:nth-child(3){--m-delay: .28s}.rail-main>:nth-child(4){--m-delay: .36s}.rail-main>:nth-child(n+5){--m-delay: .44s}.rail-section.is-from-above .rail-main>*{--m-delay: .44s}.rail-section.is-from-above .rail-main>:nth-last-child(1){--m-delay: .12s}.rail-section.is-from-above .rail-main>:nth-last-child(2){--m-delay: .2s}.rail-section.is-from-above .rail-main>:nth-last-child(3){--m-delay: .28s}.rail-section.is-from-above .rail-main>:nth-last-child(4){--m-delay: .36s}html.scroll-fx .reveal:not(.rail-section):not(.is-revealed){opacity:0}.reveal:not(.rail-section).is-revealed{animation:m-in .8s cubic-bezier(.22,1,.36,1) backwards}html.scroll-fx .stagger:not(.is-inview)>*{opacity:0}.stagger.is-from-above{--m-dir: -1}.stagger.is-inview>*{--m-x: var(--from-x, 0px);--m-y: var(--from-y, 40px);--m-scale: .96;--m-order: var(--i, 0);animation:m-in .9s cubic-bezier(.16,1,.3,1) calc(.1s + var(--m-order) * .08s) backwards}.stagger.is-from-above>*{--m-order: calc(var(--n, 1) - 1 - var(--i, 0))}.stagger.is-inview .engage-card-icon,.stagger.is-inview .signals-art{--m-x: 0px;--m-y: 0px;--m-scale: .6;animation:m-in .7s cubic-bezier(.34,1.56,.64,1) calc(.45s + var(--m-order, 0) * .08s) backwards}.stagger.is-inview .engage-card-points li{--m-x: -14px;--m-y: 0px;animation:m-in .5s cubic-bezier(.22,1,.36,1) calc(.6s + var(--m-order, 0) * .08s + var(--li, 0) * .1s) backwards}.engage-card-points li:nth-child(2){--li: 1}.engage-card-points li:nth-child(3){--li: 2}.engage-card-points li:nth-child(4){--li: 3}.stagger.is-from-above .engage-card-points li{--li: 2}.stagger.is-from-above .engage-card-points li:nth-last-child(1){--li: 0}.stagger.is-from-above .engage-card-points li:nth-last-child(2){--li: 1}.stagger.is-inview .engage-card-points svg path{stroke-dasharray:14;animation:m-tick .45s ease-out calc(.75s + var(--m-order, 0) * .08s + var(--li, 0) * .1s) backwards}html.scroll-fx .chip-drop:not(.is-inview)>:not(.signals-collecting-chips),html.scroll-fx .chip-drop:not(.is-inview) .signals-collecting-chips>*{opacity:0}.chip-drop.is-inview>:not(.signals-collecting-chips),.chip-drop.is-inview .signals-collecting-chips>*{animation:m-drop .75s linear calc(var(--ci, 0) * .05s) backwards}.chip-drop.is-from-above{--drop-dir: -1}:is(.chip-drop,.signals-collecting-chips)>:nth-child(2n){--tilt: 7deg}.chip-drop.is-from-above>:nth-last-child(1),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(1){--ci: 0}.chip-drop.is-from-above>:nth-last-child(2),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(2){--ci: 1}.chip-drop.is-from-above>:nth-last-child(3),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(3){--ci: 2}.chip-drop.is-from-above>:nth-last-child(4),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(4){--ci: 3}.chip-drop.is-from-above>:nth-last-child(5),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(5){--ci: 4}.chip-drop.is-from-above>:nth-last-child(6),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(6){--ci: 5}.chip-drop.is-from-above>:nth-last-child(7),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(7){--ci: 6}.chip-drop.is-from-above>:nth-last-child(8),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(8){--ci: 7}.chip-drop.is-from-above>:nth-last-child(9),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(9){--ci: 8}.chip-drop.is-from-above>:nth-last-child(10),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(10){--ci: 9}.chip-drop.is-from-above>:nth-last-child(11),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(11){--ci: 10}.chip-drop.is-from-above>:nth-last-child(12),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(12){--ci: 11}.chip-drop.is-from-above>:nth-last-child(13),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(13){--ci: 12}.chip-drop.is-from-above>:nth-last-child(14),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(14){--ci: 13}.chip-drop.is-from-above>:nth-last-child(15),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(15){--ci: 14}.chip-drop.is-from-above>:nth-last-child(16),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(16){--ci: 15}.chip-drop.is-from-above>:nth-last-child(17),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(17){--ci: 16}.chip-drop.is-from-above>:nth-last-child(18),.chip-drop.is-from-above .signals-collecting-chips>:nth-last-child(18){--ci: 17}:is(.chip-drop,.signals-collecting-chips)>:nth-child(2){--ci: 1}:is(.chip-drop,.signals-collecting-chips)>:nth-child(3){--ci: 2}:is(.chip-drop,.signals-collecting-chips)>:nth-child(4){--ci: 3}:is(.chip-drop,.signals-collecting-chips)>:nth-child(5){--ci: 4}:is(.chip-drop,.signals-collecting-chips)>:nth-child(6){--ci: 5}:is(.chip-drop,.signals-collecting-chips)>:nth-child(7){--ci: 6}:is(.chip-drop,.signals-collecting-chips)>:nth-child(8){--ci: 7}:is(.chip-drop,.signals-collecting-chips)>:nth-child(9){--ci: 8}:is(.chip-drop,.signals-collecting-chips)>:nth-child(10){--ci: 9}:is(.chip-drop,.signals-collecting-chips)>:nth-child(11){--ci: 10}:is(.chip-drop,.signals-collecting-chips)>:nth-child(12){--ci: 11}:is(.chip-drop,.signals-collecting-chips)>:nth-child(13){--ci: 12}:is(.chip-drop,.signals-collecting-chips)>:nth-child(14){--ci: 13}:is(.chip-drop,.signals-collecting-chips)>:nth-child(15){--ci: 14}:is(.chip-drop,.signals-collecting-chips)>:nth-child(16){--ci: 15}:is(.chip-drop,.signals-collecting-chips)>:nth-child(17){--ci: 16}:is(.chip-drop,.signals-collecting-chips)>:nth-child(18){--ci: 17}html.scroll-fx .vp-section:not(.is-inview) :is(.vp-row,.vp-rich-text>*,.vp-button-container){opacity:0}.vp-section.is-inview .vp-row{--m-x: -140px;--m-y: 36px;animation:m-in 1.05s cubic-bezier(.16,1,.3,1) backwards}.vp-section.is-inview .vp-row:nth-child(2){--m-x: 140px;animation-delay:.08s}.vp-section.is-inview .vp-row:nth-child(3){animation-delay:.16s}.vp-section.is-inview .vp-row:nth-child(4){--m-x: 0px;--m-y: 40px;animation-delay:.26s}.vp-section.is-inview .vp-video{--m-y: 0px;--m-scale: .55;animation:m-in .9s cubic-bezier(.34,1.3,.64,1) .35s backwards}.vp-section.is-from-above.is-inview .vp-row{--m-x: 140px}.vp-section.is-from-above.is-inview .vp-row:nth-child(2){--m-x: -140px}.vp-section.is-from-above.is-inview .vp-row:nth-child(4){--m-x: 0px}.vp-section.is-inview :is(.vp-rich-text>*,.vp-button-container){--m-y: 22px;animation:m-in .8s cubic-bezier(.22,1,.36,1) calc(.3s + var(--vp-i, 0) * .09s) backwards}.vp-rich-text>:nth-child(2){--vp-i: 1}.vp-rich-text>:nth-child(3){--vp-i: 2}.vp-rich-text>:nth-child(4){--vp-i: 3}.vp-button-container{--vp-i: 4}@supports (animation-timeline: scroll()){.scroll-progress{position:fixed;inset:0 0 auto;z-index:60;height:2px;background:var(--accent);transform-origin:0 50%;pointer-events:none;animation:m-progress linear both;animation-timeline:scroll(root block)}}}@keyframes m-drop{0%{opacity:0;translate:0 calc(-46px * var(--drop-dir, 1));rotate:var(--tilt, -7deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}45%{opacity:1;translate:0 calc(6px * var(--drop-dir, 1));rotate:0deg;animation-timing-function:cubic-bezier(.22,1,.36,1)}70%{translate:0 calc(-3px * var(--drop-dir, 1));animation-timing-function:cubic-bezier(.45,0,.55,1)}to{translate:0 0;rotate:0deg}}@keyframes m-tick{0%{stroke-dashoffset:14}to{stroke-dashoffset:0}}@keyframes m-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scroll-progress{display:none}@supports (animation-timeline: scroll()){@media(prefers-reduced-motion:no-preference){.scroll-progress{display:block}}}@media(hover:hover)and (pointer:fine){.site-shell :is(.work-card,.service-card,.home-cert-card,.home-value,.contact-card,.contact-next-list li,.home-engage-card,.process-step-face,.service-page-media,.cta-band,.home-process-cta,.faq-item):hover{background-image:radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%),rgba(var(--accent-rgb),.09),transparent 60%)}.site-shell .work-card .work-card-cover img{transition:scale .9s cubic-bezier(.16,1,.3,1)}.site-shell .work-card:hover .work-card-cover img{transform:none;scale:1.06}.home-tools .marquee li .tool-tile-icon{transition:translate .35s cubic-bezier(.34,1.4,.64,1),scale .35s cubic-bezier(.34,1.4,.64,1)}.home-tools .marquee li:hover .tool-tile-icon{translate:0 -4px;scale:1.1}}.site-shell :is(.btn,.section-pill),.work-card-action,.service-page-caption-action,.vp-button{--fill: var(--ink);--fill-ink: var(--paper);position:relative;overflow:hidden;isolation:isolate}.site-shell .btn-primary,.work-card-action,.service-page-caption-action{--fill: color-mix(in srgb, var(--accent) 62%, #0a1440);--fill-ink: #fff}.site-shell :is(.btn,.section-pill):before,.work-card-action:before,.service-page-caption-action:before,.vp-button:before{content:"";display:block;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border-radius:inherit;background:var(--fill);transform:translateY(102%);transition:transform .42s cubic-bezier(.22,1,.36,1);pointer-events:none}.site-shell .btn-primary:after,.work-card-action:after,.service-page-caption-action:after{content:none}:is(.site-shell .btn,.site-shell .section-pill,.work-card-action,.service-page-caption-action,.vp-button)>*{position:relative}@media(hover:hover){.site-shell :is(.btn,.section-pill):is(:hover,:focus-visible):before,.work-card:is(:hover,:focus-visible) .work-card-action:before,.service-page-caption-action:is(:hover,:focus-visible):before,.vp-button:is(:hover,:focus-visible):before{transform:translateY(0)}.site-shell :is(.btn,.section-pill):is(:hover,:focus-visible),.work-card:is(:hover,:focus-visible) .work-card-action,.service-page-caption-action:is(:hover,:focus-visible),.vp-button:is(:hover,:focus-visible){color:var(--fill-ink);border-color:var(--fill);transition:color .16s ease .1s,border-color .3s ease,box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.site-shell .btn:not(.btn-primary,.service-page-cta):is(:hover,:focus-visible),.site-shell .section-pill:is(:hover,:focus-visible){background:var(--paper-warm)}.site-shell .btn-primary:is(:hover,:focus-visible),.work-card:is(:hover,:focus-visible) .work-card-action,.service-page-caption-action:is(:hover,:focus-visible){background:var(--accent)}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.btn .arrow-icon{display:inline-block;transition:translate .25s cubic-bezier(.22,1,.36,1)}.btn:hover .arrow-icon{translate:2px -2px}}.service-page.is-websites .btn.service-page-cta{--fill: color-mix(in srgb, var(--accent) 62%, #0a1440);--fill-ink: #fff}.service-page.is-apps .btn.service-page-cta{--fill: var(--accent);--fill-ink: #fff}.service-page.is-data .btn.service-page-cta{--fill: #0b0b0d;--fill-ink: #fff}.vp-button{--fill: #fff;--fill-ink: var(--accent)}@media(max-width:767px),(max-width:1023px)and (max-aspect-ratio:5/4){.vp-button{--fill: #0a1440;--fill-ink: #fff}}@media(hover:hover){.vp-button:is(:hover,:focus-visible){background:transparent}}@media(hover:hover)and (max-width:767px),(hover:hover)and (max-width:1023px)and (max-aspect-ratio:5/4){.vp-button:is(:hover,:focus-visible){background:#fff}}:is(.btn,.section-pill,.filter-pill,.vp-button):active,.work-card:active .work-card-action,.service-page-caption-action:active{scale:.96}
