:root{color-scheme:dark;--ground: #0b0e0c;--surface: #0f1411;--surface-2: #151b17;--line: #1d2420;--line-2: #232b26;--line-3: #2b352f;--line-4: #5b6b62;--text: #e8f1ea;--text-2: #c7d4cb;--text-3: #b9c8be;--muted: #8fa297;--accent: #33ff66;--accent-ink: #33ff66;--on-accent: #06210f;--field: #0b0e0c;--art-glass-top: #0d120f;--art-glass-bottom: #090d0b;--art-shadow: .45;--art-halo: .5;--nav-glow: 0 0 6px 0 color-mix(in srgb, var(--accent) 55%, transparent);--nav-glow-peak: 0 0 14px 2px color-mix(in srgb, var(--accent) 85%, transparent);--h2: clamp(2rem, 3.4vw, 2.75rem);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--ground: #e8eeea;--surface: #dfe7e2;--surface-2: #ffffff;--line: #dce4df;--line-2: #d5ded8;--line-3: #c9d4cd;--line-4: #9baea2;--text: #0b0e0c;--text-2: #33403a;--text-3: #4c5a51;--muted: #5b6b62;--accent: #0a8f3c;--accent-ink: #0a8f3c;--on-accent: #ffffff;--field: #e8eeea;--art-glass-top: #f6f9f7;--art-glass-bottom: #e8eeea;--art-shadow: .18;--art-halo: .35;--nav-glow: 0 0 0 0 transparent;--nav-glow-peak: 0 0 0 0 transparent}}:root[data-theme=light]{color-scheme:light;--ground: #e8eeea;--surface: #dfe7e2;--surface-2: #ffffff;--line: #dce4df;--line-2: #d5ded8;--line-3: #c9d4cd;--line-4: #9baea2;--text: #0b0e0c;--text-2: #33403a;--text-3: #4c5a51;--muted: #5b6b62;--accent: #0a8f3c;--accent-ink: #0a8f3c;--on-accent: #ffffff;--field: #e8eeea;--art-glass-top: #f6f9f7;--art-glass-bottom: #e8eeea;--art-shadow: .18;--art-halo: .35;--nav-glow: 0 0 0 0 transparent;--nav-glow-peak: 0 0 0 0 transparent}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--ground);color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.6;text-rendering:optimizeLegibility}h1,h2,h3,p,figure,dl,dd,ul,ol{margin:0}img,picture{display:block;max-width:100%}a{color:var(--text);text-decoration-color:var(--accent-ink);text-decoration-thickness:2px;text-underline-offset:6px}a:hover{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mono{font-family:var(--mono)}.label{font-family:var(--mono);font-size:14px;letter-spacing:.02em;color:var(--muted)}.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(20px,4vw,32px)}.skip-link{position:absolute;left:16px;top:-100px;z-index:20;padding:10px 16px;background:var(--accent-ink);color:var(--on-accent);border-radius:4px;text-decoration:none}.skip-link:focus{top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;background:var(--accent-ink);color:var(--on-accent);font-family:inherit;font-weight:600;font-size:17px;text-decoration:none;border:0;border-radius:4px;cursor:pointer}.btn:hover{color:var(--on-accent)}.btn-outline{min-height:44px;padding:0 18px;background:transparent;border:1px solid var(--accent-ink);color:var(--accent-ink);font-size:15px;white-space:nowrap;flex:none}.btn-outline:hover{color:var(--accent-ink)}@media (hover: hover){.btn:hover{filter:brightness(1.08)}.btn-outline:hover{background:color-mix(in srgb,var(--accent-ink) 12%,transparent);filter:none}}.link{display:inline-flex;align-items:center;min-height:44px;font-size:17px;color:var(--text);text-decoration-line:underline}.link{position:relative}.link:after{content:"";position:absolute;top:calc(50% + .68em);right:0;left:0;height:2px;border-radius:1px;pointer-events:none}@media (prefers-reduced-motion: no-preference){.btn{box-shadow:0 0 0 0 transparent;transition:filter .16s ease,background-color .2s ease,transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s cubic-bezier(.2,.7,.2,1)}.link{transition:color .16s ease,transform .22s cubic-bezier(.2,.7,.2,1)}.link:after{box-shadow:0 0 0 0 transparent;transition:box-shadow .22s cubic-bezier(.2,.7,.2,1)}.btn:focus-visible,.link:focus-visible{transform:translateY(-2px)}.btn:focus-visible{box-shadow:0 10px 22px -10px color-mix(in srgb,var(--accent-ink) 45%,transparent)}.link:focus-visible:after{box-shadow:0 4px 10px color-mix(in srgb,var(--accent-ink) 75%,transparent)}.btn:active,.link:active{transform:translateY(0);transition-duration:90ms}.btn:active{box-shadow:0 3px 8px -4px color-mix(in srgb,var(--accent-ink) 45%,transparent);filter:brightness(.96)}.link:active:after{box-shadow:0 1px 4px color-mix(in srgb,var(--accent-ink) 75%,transparent)}}@media (prefers-reduced-motion: no-preference) and (hover: hover){.btn{position:relative}.btn:hover,.link:hover{transform:translateY(-2px)}.btn:hover:before,.link:hover:before{content:"";position:absolute;inset:0 0 -4px}.btn:hover{box-shadow:0 10px 22px -10px color-mix(in srgb,var(--accent-ink) 45%,transparent)}.link:hover:after{box-shadow:0 4px 10px color-mix(in srgb,var(--accent-ink) 75%,transparent)}.btn:active,.link:active{transform:translateY(0)}.btn:active{box-shadow:0 3px 8px -4px color-mix(in srgb,var(--accent-ink) 45%,transparent)}.link:active:after{box-shadow:0 1px 4px color-mix(in srgb,var(--accent-ink) 75%,transparent)}}.site-header{position:sticky;top:0;z-index:10;background:var(--ground);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;gap:clamp(12px,2vw,28px);padding-block:14px;padding-inline:clamp(16px,4vw,32px)}.wordmark{display:flex;align-items:center;gap:.14em;min-height:44px;flex:none;font-family:var(--mono);font-weight:800;font-size:24px;letter-spacing:-.045em;line-height:1;color:var(--text);text-decoration:none}.wordmark:hover{color:var(--text)}.wordmark .bar{display:block;width:.32em;height:1.12em;background:var(--accent)}.site-nav{flex:1 1 0;min-width:0;display:flex;justify-content:flex-end;gap:28px;font-size:16px}.site-nav a{position:relative;display:inline-flex;align-items:center;height:44px;color:var(--text-3);text-decoration:none;white-space:nowrap}.site-nav a:hover{color:var(--accent-ink)}.site-nav a:after{content:"";position:absolute;bottom:8px;left:0;width:100%;height:2px;border-radius:1px;background:var(--accent-ink);opacity:0;box-shadow:0 0 0 0 transparent;pointer-events:none}.site-nav a.is-lit:after{opacity:1;box-shadow:var(--nav-glow)}@media (prefers-reduced-motion: no-preference){.site-nav a:after{transition:opacity .55s cubic-bezier(.1,.6,.3,1),box-shadow .55s cubic-bezier(.1,.6,.3,1);transition:opacity .55s linear(0,.282 10%,.488 20%,.638 30%,.791 45%,.886 60%,.96 80%,1),box-shadow .55s linear(0,.282 10%,.488 20%,.638 30%,.791 45%,.886 60%,.96 80%,1)}.site-nav a.is-lit:after{transition:opacity .14s ease-out;animation:nav-glow-on .65s ease-out}}@keyframes nav-glow-on{0%{box-shadow:var(--nav-glow-peak)}}@media (max-width: 799px){.site-nav{display:none}.site-header .wrap{justify-content:space-between}}.section{border-top:1px solid var(--line)}.section>.wrap{padding-block:88px;display:flex;flex-direction:column;gap:48px}.section-head{display:flex;flex-direction:column;gap:14px}.section-head h2,.about-copy h2{font-weight:600;font-size:var(--h2);line-height:1.1;letter-spacing:-.025em}.section-head .lead{max-width:36em;font-size:21px;font-weight:500;line-height:1.4;text-wrap:pretty}.section-head .sub{max-width:36em;color:var(--text-3)}.section.band{background:var(--surface)}.note-row{display:flex;flex-wrap:wrap;gap:4px 20px}.note-row .label{flex:0 0 10.5em;padding-top:4px}.note-row>p,.note-body{flex:1 1 20em;min-width:0;max-width:44em;font-size:17px;line-height:1.55;color:var(--text-2)}.note-body{display:flex;flex-direction:column;gap:12px}.notes{display:flex;flex-direction:column;gap:24px}.hero>.wrap{padding:72px clamp(20px,4vw,32px) 88px;display:flex;flex-wrap:wrap;align-items:center;gap:48px 56px}.hero-copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}.hero h1{font-weight:600;font-size:clamp(2.4rem,4.4vw,3.5rem);line-height:1.05;letter-spacing:-.03em;text-wrap:balance}.hero .lead{max-width:33em;font-size:20px;line-height:1.55;color:var(--text-3);text-wrap:pretty}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}.hero-art{position:relative;flex:1 1 440px;max-width:560px;min-width:0;margin:0 auto;align-self:center}.hero-art svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--mono)}.hero-art>svg:not(.art-halo){position:absolute;top:0;left:0;height:100%}.hero-art>svg.art-defs{width:0;height:0}@media screen and (prefers-reduced-motion: no-preference){.hero-art{--spring: linear(0 0%, .0351 3.57%, .1207 7.14%, .233 10.71%, .355 14.29%, .4754 17.86%, .5868 21.43%, .6851 25%, .7687 28.57%, .8373 32.14%, .8919 35.71%, .934 39.29%, .9652 42.86%, .9875 46.43%, 1.0026 50%, 1.0121 53.57%, 1.0174 57.14%, 1.0196 60.71%, 1.0198 64.29%, 1.0186 67.86%, 1.0166 71.43%, 1.0143 75%, 1.0118 78.57%, 1.0095 82.14%, 1.0074 85.71%, 1.0055 89.29%, 1.004 92.86%, 1.0027 96.43%, 1 100%)}.hero-art.armed:not(.play) :is(.art-layer,.art-org,.halo,.lbl,.bracket,.mark-a,.mark-bar){opacity:0}.hero-art.play .art-org{animation:hero-settle .7s var(--spring) .12s backwards,hero-fade .42s ease-out .12s backwards}.hero-art.play .art-layer{--d: calc(.38s + (var(--i) - 1) * .14s);animation:hero-drop .7s var(--spring) var(--d) backwards,hero-fade .38s cubic-bezier(.3,.6,.4,1) var(--d) backwards}.hero-art.play .halo{--d: calc(.38s + (var(--i) - 1) * .14s);animation:hero-halo-drop .7s var(--spring) var(--d) backwards,hero-fade .38s ease-out var(--d) backwards,hero-wave .9s ease-in-out calc(1.75s + (var(--i) - 1) * 90ms) backwards}.hero-art.play .lbl{animation:hero-label .52s cubic-bezier(.2,.7,.2,1) calc(.54s + (var(--i) - 1) * .14s) backwards}.hero-art.play .bracket{animation:hero-draw .65s cubic-bezier(.55,0,.25,1) 1.48s backwards}.hero-art.play :is(.mark-a,.mark-bar){animation:hero-mark .7s var(--spring) 1.88s backwards,hero-fade .36s ease-out 1.88s backwards}}@keyframes hero-drop{0%{transform:translateY(-6.1224%)}to{transform:none}}@keyframes hero-settle{0%{transform:translateY(-3.0612%)}to{transform:none}}@keyframes hero-halo-drop{0%{transform:translateY(-24px)}to{transform:none}}@keyframes hero-mark{0%{transform:translateY(-12px)}to{transform:none}}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}@keyframes hero-label{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@keyframes hero-draw{0%{stroke-dasharray:1 1;stroke-dashoffset:1}to{stroke-dasharray:1 1;stroke-dashoffset:0}}@keyframes hero-wave{0%,to{stroke-opacity:var(--art-halo, .5);stroke-width:4}45%{stroke-opacity:1;stroke-width:6.5}}.rows{display:flex;flex-direction:column}.row{border-top:1px solid var(--line-2);padding:36px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:20px 56px}.row:last-child{border-bottom:1px solid var(--line-2)}.row h3{font-weight:600;font-size:clamp(1.5rem,2.2vw,1.875rem);line-height:1.2;letter-spacing:-.02em;text-wrap:balance}.row-body{display:flex;flex-direction:column;gap:20px;min-width:0;container-type:inline-size}.row-body p{color:var(--text-2)}.flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.flow-card{flex:1 1 140px;min-width:0;border:1px solid var(--line-4);border-radius:8px;background:var(--surface-2);padding:12px 14px;display:flex;flex-direction:column;gap:2px}.flow-card b{font-weight:600;font-size:15.5px;line-height:1.35;text-wrap:balance}.flow-card span{font-size:14px;line-height:1.4;color:var(--muted);text-wrap:pretty}.flow-arrow{flex:none;align-self:center;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}@container (max-width: 499px){.flow{flex-direction:column;flex-wrap:nowrap;gap:8px}.flow-card{flex:none;padding:18px 20px;gap:4px}.flow-card b{font-size:17px}.flow-card span{font-size:15px}.flow-arrow{transform:rotate(90deg)}}.work-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px 56px;align-items:stretch}@media (min-width: 1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid .stage-phones{order:-1}}.work-grid+.work-grid{border-top:1px solid var(--line);padding-top:56px}.stage{min-width:0;background:var(--surface-2);border:1px solid var(--line-2);border-radius:24px;padding:36px 24px 28px;display:flex;justify-content:center;align-items:center;gap:14px}.stage figure{flex:1 1 0;min-width:0;max-width:170px;display:flex;flex-direction:column;align-items:center;gap:14px}.stage figure.raised{margin-top:36px}.device{width:100%;aspect-ratio:640 / 1320;filter:drop-shadow(0 16px 18px rgba(0,0,0,.28))}.device img{width:100%;height:100%}figcaption{font-size:14px;line-height:1.4;color:var(--muted);text-align:center;text-wrap:balance}.stage-single{padding:28px 20px}.stage-single picture,.stage-single img{width:100%;height:100%;max-height:520px;object-fit:contain}@media (max-width: 640px){.stage-phones{padding:28px 14px 22px;gap:10px}.stage-phones figure.raised{margin-top:24px}}.work-copy{display:flex;flex-direction:column;justify-content:center;gap:24px;min-width:0;container-type:inline-size}.app-head{display:flex;align-items:center;gap:16px;min-width:0}.app-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}.app-icon{width:64px;height:64px;flex:none}.app-icon img{width:100%;height:100%}.app-head h3{font-weight:600;font-size:28px;line-height:1.15;letter-spacing:-.02em}.tagline{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;line-height:1.25;letter-spacing:-.015em}.facts{display:flex;flex-direction:column;gap:16px}.facts>div{display:flex;flex-wrap:wrap;gap:2px 20px}.facts dt{flex:0 0 10.5em;font-family:var(--mono);font-size:14px;letter-spacing:.02em;color:var(--muted);padding-top:3px}.facts dd{flex:1 1 15em;min-width:0;font-size:17px;line-height:1.55;color:var(--text-2);text-wrap:pretty}@container (width < 422px){.facts dt{flex-basis:100%}}.app-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}.badge-link{display:inline-flex;align-items:center;min-height:44px;flex:none}.badge-link img{height:44px;width:auto}.service-list,.who-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:40px 32px}.service-list{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:40px 56px}.service-list li,.who-list li{border-top:2px solid var(--line-3);padding-top:20px;display:flex;flex-direction:column;gap:10px}.service-list h3,.who-list h3,.steps h3{font-weight:600;font-size:21px;line-height:1.25;letter-spacing:-.01em}.service-list p,.who-list p,.steps p{font-size:16.5px;line-height:1.55;color:var(--text-3)}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:36px 32px}.steps li{position:relative;display:flex;flex-direction:column;gap:10px}.steps li:before{content:"";position:absolute;top:-18px;right:0;left:0;height:2px;border-radius:1px;background:var(--accent);opacity:.9;pointer-events:none}.process-notes{border-top:1px solid var(--line-2);padding-top:28px}.about>.wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:14px 64px}.portrait{order:-1;width:240px;aspect-ratio:1 / 1;margin-bottom:26px;border-radius:16px;overflow:hidden}@media (min-width: 788px){.about>.wrap{grid-template-columns:240px minmax(0,1fr)}.about .label{grid-column:2;grid-row:1}.about-copy{grid-column:2;grid-row:2}.portrait{order:0;grid-column:1;grid-row:2;margin:calc(var(--h2) * .227) 0 0}}.portrait img{width:100%;height:100%;object-fit:cover}.about-copy{min-width:0;display:flex;flex-direction:column;gap:20px}.about-copy h2{text-wrap:balance}.about-copy .name{font-size:21px;font-weight:500;line-height:1.4}.about-copy .bio{max-width:38em;color:var(--text-2)}.contact>.wrap{padding-block:96px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:48px 64px;align-items:start}.contact-copy{display:flex;flex-direction:column;gap:20px;min-width:0}.contact-copy h2{font-weight:600;font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.03em;text-wrap:balance}.contact-copy .lead{max-width:28em;font-size:20px;line-height:1.55;color:var(--text-3)}.contact-alt{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;font-size:17px;color:var(--text-3)}.contact-form{margin:0;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:16px;font-weight:500}.field input,.field textarea{width:100%;min-height:48px;padding:10px 14px;background:var(--field);border:1px solid var(--line-4);border-radius:6px;color:var(--text);font-family:inherit;font-size:17px;line-height:1.5}.field textarea{padding:12px 14px;resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.form-actions .btn{padding:0 28px}.form-note{font-size:15px;color:var(--muted)}.site-footer{border-top:1px solid var(--line)}.site-footer .wrap{padding:48px clamp(20px,4vw,32px) 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px 64px;font-size:15px;color:var(--muted)}.footer-brand{flex:1 1 260px;display:flex;flex-direction:column;gap:14px}.footer-brand .wordmark{font-size:20px;min-height:0}.footer-col{display:flex;flex-direction:column}.footer-col .label{padding-bottom:4px}.footer-col a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-2)}.doc>.wrap{max-width:800px;padding-block:64px 96px;display:flex;flex-direction:column;gap:24px}.doc h1{font-weight:600;font-size:var(--h2);line-height:1.1;letter-spacing:-.025em}.doc article>*+*{margin-top:16px}.doc h2{margin-top:36px;font-weight:600;font-size:24px;line-height:1.25;letter-spacing:-.015em}.doc h3{margin-top:8px;font-weight:600;font-size:19px;line-height:1.3}.doc p,.doc li{color:var(--text-2);font-size:17px;line-height:1.6}.doc ul{padding-left:1.4em;display:flex;flex-direction:column;gap:8px}.doc hr{width:100%;margin:8px 0;border:0;border-top:1px solid var(--line-2)}.doc strong{color:var(--text)}.doc address{font-style:normal;color:var(--text-2);font-size:17px;line-height:1.6}.doc .meta{color:var(--muted)}
