@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg: #090a10;--surface: #12141d;--band: #0d0f17;--text: #eceef6;--muted: #a4abc2;--border: #262a3b;--border-strong: #3a4058;--focus: #7cc4ff;--btn-bg: #eceef6;--btn-text: #090a10;--dot: rgb(236 238 246 / .16);--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 22px 44px -24px rgb(0 0 0 / .9);--g1: #8c8bff;--g2: #50e3c2;--g3: #6fd9a3;--g4: #ffc857;--g5: #ff5a52;--glow: 30%;--tint: 9%;--spot: 15%;--edge: 34%;--r: 24px;--wrap: 72rem;--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f5f4ef;--surface: #ffffff;--band: #ecebe3;--text: #11121a;--muted: #4a4e60;--border: #dcdad0;--border-strong: #8d8f9c;--focus: #1d4ed8;--btn-bg: #11121a;--btn-text: #f5f4ef;--dot: rgb(17 18 26 / .16);--shadow: 0 1px 2px rgb(17 18 26 / .06), 0 18px 40px -22px rgb(17 18 26 / .3);--g1: #3d3bd1;--g2: #0a7480;--g3: #0a7550;--g4: #a3530a;--g5: #c92f29;--glow: 16%;--tint: 7%;--spot: 20%;--edge: 40%;color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.5rem}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.6;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip}main{flex:1}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}h1,h2,h3{font-family:var(--font-display);line-height:1.05;text-wrap:balance}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.wrap{width:min(100% - 2rem,var(--wrap));margin-inline:auto}@media(min-width:40rem){.wrap{width:min(100% - 3rem,var(--wrap))}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.75rem;top:-4rem;z-index:100;background:var(--btn-bg);color:var(--btn-text);padding:.7rem 1rem;border-radius:10px;font-weight:600;text-decoration:none}.skip-link:focus{top:.75rem}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;min-height:3.5rem;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}.mark{flex:none;border-radius:8px}.bar nav{display:flex;gap:.25rem}@media(max-width:23.5rem){.bar{column-gap:.25rem}.brand{font-size:1rem;gap:.4rem}.brand .mark{width:28px;height:28px}.bar nav{gap:0}.bar nav a{padding-inline:.4rem;font-size:.9rem}}.bar nav a{display:inline-flex;align-items:center;min-height:44px;padding-inline:.75rem;color:var(--muted);font-weight:500;text-decoration:none;border-radius:999px;transition:color .2s,background-color .2s}.bar nav a:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.hero{position:relative;overflow:clip;isolation:isolate;padding-block:clamp(2.5rem,8vw,6rem) clamp(3rem,7vw,5.5rem)}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(var(--dot) 1.1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 75% 80% at 30% 35%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 75% 80% at 30% 35%,#000 25%,transparent 78%)}.aurora{position:absolute;inset:-30% -20% -10%;z-index:-1;pointer-events:none;background:radial-gradient(38% 42% at 14% 28%,color-mix(in srgb,var(--g1) var(--glow),transparent),transparent 70%),radial-gradient(34% 38% at 38% 72%,color-mix(in srgb,var(--g2) var(--glow),transparent),transparent 70%),radial-gradient(28% 34% at 82% 30%,color-mix(in srgb,var(--g3) var(--glow),transparent),transparent 70%),radial-gradient(24% 30% at 70% 86%,color-mix(in srgb,var(--g4) var(--glow),transparent),transparent 70%);-webkit-mask-image:linear-gradient(#000 55%,transparent 86%);mask-image:linear-gradient(#000 55%,transparent 86%)}.hero-grid{display:grid;gap:2.5rem;align-items:end}@media(min-width:56rem){.hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3.5rem}}.eyebrow{display:inline-block;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;padding-left:2.25rem;position:relative}.eyebrow:before{content:"";position:absolute;left:0;top:50%;width:1.5rem;height:2px;background:linear-gradient(90deg,var(--g1),var(--g2),var(--g4))}h1{font-size:clamp(2.9rem,14.5vw,6.5rem);font-weight:800;letter-spacing:-.04em;line-height:.92;display:flex;flex-direction:column;margin-bottom:1.5rem}.h1-a{display:block}.h1-b{display:block;width:fit-content;padding-bottom:.1em;background:linear-gradient(100deg,var(--g1) 0%,var(--g2) 45%,var(--g3) 65%,var(--g4) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lead{text-wrap:balance;font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,4vw,2rem);line-height:1.15;letter-spacing:-.02em;margin-bottom:.75rem;max-width:30rem}.sub{color:var(--muted);font-size:1.125rem;max-width:34rem;margin-bottom:2rem}.cta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.7rem 1.4rem;background:var(--btn-bg);color:var(--btn-text);border-radius:999px;font-weight:650;text-decoration:none;overflow-wrap:anywhere;transition:box-shadow .25s}.btn:hover{box-shadow:0 10px 30px -10px color-mix(in srgb,var(--g2) 70%,transparent)}.textlink{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.sheet{padding:1.25rem 1.5rem;border-radius:var(--r);background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);box-shadow:var(--shadow)}.sheet-title{font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}.sheet dl{margin:0}.sheet dl>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;padding-block:.7rem;border-top:1px solid var(--border)}.sheet dt{color:var(--muted);font-size:.9375rem}.sheet dd{margin:0;font-weight:500}.sheet a{text-underline-offset:.22em}.section{padding-block:clamp(3rem,8vw,5.5rem)}.section-band{background:var(--band);border-block:1px solid var(--border)}.section-head{margin-bottom:clamp(1.75rem,4vw,2.75rem);max-width:40rem}h2{font-size:clamp(2rem,6vw,3rem);font-weight:750;letter-spacing:-.035em;margin-bottom:.75rem}.section-head p{color:var(--muted);font-size:1.125rem}.about h2{margin-bottom:clamp(1.25rem,3vw,2rem)}.prose{display:grid;gap:1.1rem;font-size:1.1875rem;max-width:68ch}.prose p:first-child{font-family:var(--font-display);font-weight:550;font-size:clamp(1.35rem,3.4vw,1.75rem);line-height:1.3;letter-spacing:-.01em}.prose p:not(:first-child){color:var(--muted)}.prose a{color:var(--text)}.skills{display:grid;gap:2.5rem 3rem;grid-template-columns:minmax(0,1fr)}@media(min-width:48rem){.skills{grid-template-columns:repeat(2,minmax(0,1fr))}}.group{padding-top:1.25rem;position:relative;border-top:1px solid var(--border-strong)}.group:before{content:"";position:absolute;left:0;top:-1px;width:3rem;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--ga),var(--gb))}.group:nth-child(1){--ga: var(--g1);--gb: var(--g2)}.group:nth-child(2){--ga: var(--g2);--gb: var(--g3)}.group:nth-child(3){--ga: var(--g3);--gb: var(--g4)}.group:nth-child(4){--ga: var(--g4);--gb: var(--g5)}.group:nth-child(5){--ga: var(--g5);--gb: var(--g1)}@media(min-width:48rem){.group:first-child{grid-column:1 / -1}}.group h3{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.4rem}.group>p{color:var(--muted);margin-bottom:1rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips li{padding:.3rem .8rem;border-radius:999px;font-size:.9375rem;line-height:1.4;background:var(--surface);border:1px solid var(--border-strong)}.rows{border-top:1px solid var(--border-strong)}.row{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:.5rem 1.25rem;align-items:start;padding-block:1.5rem;border-bottom:1px solid var(--border)}.row-icon{width:4rem;height:4rem;border-radius:22.5%;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 10%,transparent),var(--shadow)}.row-main{grid-column:2}.row h3{font-size:1.625rem;font-weight:750;letter-spacing:-.03em;margin-bottom:.35rem;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .75rem}.row-main p{color:var(--muted);max-width:40rem}.row-main .tech{color:var(--text);font-size:.9375rem;font-weight:600;margin-top:.5rem}.badge{font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:0;line-height:1.4;padding:.2rem .65rem;border-radius:999px;border:1px dashed var(--border-strong);color:var(--text)}.row-links{grid-column:2;display:flex;flex-wrap:wrap;gap:0 1.5rem}.row-links a{display:inline-flex;align-items:center;gap:.3rem;min-height:44px;font-weight:600}@media(min-width:48rem){.row{grid-template-columns:4rem minmax(0,1fr) auto;gap:1.5rem;align-items:center}.row-links{grid-column:3;flex-direction:column;align-items:flex-start;gap:0}}.note{margin-top:1.75rem;color:var(--muted);max-width:40rem}.steps{list-style:none;margin:0;padding:0;display:grid;gap:2rem 2.5rem;grid-template-columns:minmax(0,1fr);counter-reset:s}@media(min-width:40rem){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:63.99rem){.step:last-child:nth-child(odd){grid-column:1 / -1}}@media(min-width:64rem){.steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem}}.num{display:block;font-family:var(--font-display);font-weight:800;font-size:3rem;line-height:1;letter-spacing:-.04em;margin-bottom:.75rem;background:linear-gradient(100deg,var(--g1),var(--g2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.step:nth-child(2) .num{background-image:linear-gradient(100deg,var(--g2),var(--g3))}.step:nth-child(3) .num{background-image:linear-gradient(100deg,var(--g3),var(--g4))}.step:nth-child(4) .num{background-image:linear-gradient(100deg,var(--g4),var(--g5))}.step:nth-child(5) .num{background-image:linear-gradient(100deg,var(--g5),var(--g1))}.step h3{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.step p{color:var(--muted)}.contact h2{font-size:clamp(2.5rem,9vw,5rem);letter-spacing:-.04em}.contact-lead{color:var(--muted);font-size:1.1875rem;max-width:36rem;margin-bottom:2rem}.site-footer{padding-block:2.5rem;border-top:1px solid var(--border)}.foot{display:grid;gap:.75rem}.foot p{color:var(--muted);font-size:.875rem;max-width:44rem}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes reveal{0%{opacity:0;transform:translateY(32px)}}@keyframes drift{0%{transform:translate3d(-3%,-2%,0) rotate(-2deg)}to{transform:translate3d(3%,2%,0) rotate(2deg) scale(1.06)}}@media(prefers-reduced-motion:no-preference){.rise{animation:rise .8s var(--ease) backwards;animation-delay:calc(var(--i, 0) * 90ms)}.aurora{animation:drift 24s ease-in-out infinite alternate}@supports (animation-timeline: view()){.reveal{animation:reveal linear backwards;animation-timeline:view();animation-range:entry 0% entry 45%}}}@media(max-width:30rem){.bar{column-gap:.25rem}.brand{font-size:1rem;gap:.45rem}.bar nav{gap:0}.bar nav a{padding-inline:.45rem;font-size:.9rem}}
