:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#eef4f3;--ink:#0e1f1e;--muted:#4e6462;--cobalt:#159aa1;--coral:#ff5630;--yellow:#ffc94d;--line:#d3e0de;--card:#fff;--card-2:#e4eeec;--shadow:0 1px 0 #0e1f1e0a, 0 18px 40px -24px #0e1f1e4d}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}:root{--tpl-top:72px}@media (max-width:640px){:root{--tpl-top:38px}}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Instrument Sans,system-ui,sans-serif;font-size:17px;line-height:1.6}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}a{color:inherit}h1,h2,h3{text-wrap:balance;letter-spacing:-.02em;margin:0;font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:700}.mono{font-family:Space Mono,monospace}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--coral);font-family:Space Mono,monospace;font-size:12px}header{z-index:20;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}nav{justify-content:space-between;align-items:center;height:66px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:9px;font-family:Bricolage Grotesque;font-size:19px;font-weight:800;text-decoration:none;display:flex}.brand .dot{background:var(--coral);border-radius:3px;width:11px;height:11px;transform:rotate(12deg)}.navlinks{align-items:center;gap:26px;display:flex}.navlinks a{color:var(--muted);font-size:15px;font-weight:500;text-decoration:none}.navlinks a:hover{color:var(--ink)}.navlinks .cta{color:#fff;background:var(--coral);border:1.5px solid var(--coral);box-shadow:0 10px 20px -12px var(--coral);border-radius:999px;padding:8px 16px}.langsw{align-items:center;gap:6px;display:inline-flex}.langsw a{filter:grayscale()opacity(.5);font-size:18px;line-height:1;text-decoration:none;transition:filter .15s,transform .15s}.langsw a:hover{filter:grayscale(0)opacity();transform:translateY(-1px)}.langsw a.on{filter:grayscale(0)opacity()}.navlinks .cta:hover{transform:translateY(-1px)}.hamburger{background:var(--card);border:1px solid var(--line);cursor:pointer;width:42px;height:42px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;margin-left:auto;display:none}.hamburger svg{width:22px;height:22px}@media (max-width:640px){.hamburger{display:inline-flex}.navlinks{background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 24px 18px;display:none;position:absolute;top:66px;left:0;right:0}.navlinks.open{display:flex}.navlinks a{padding:10px 0;font-size:16px}.navlinks .cta{margin-top:10px;padding:9px 18px}}.hero{padding:var(--tpl-top) 0 54px;position:relative;overflow:hidden}.hero-top{grid-template-columns:1.35fr .65fr;align-items:center;gap:44px;display:grid}@media (max-width:820px){.hero-top{grid-template-columns:1fr}}.portrait{aspect-ratio:4/5;justify-self:center;width:min(300px,78vw);position:relative}.portrait .frame{border:3px solid var(--ink);box-shadow:var(--shadow);background:var(--card-2);z-index:2;border-radius:26px;position:absolute;inset:0;overflow:hidden}.portrait .frame img{object-fit:cover;width:100%;height:100%;display:block}.portrait .ph{color:var(--muted);place-items:center;font-family:Bricolage Grotesque;font-size:64px;font-weight:800;display:grid;position:absolute;inset:0}.portrait .ph small{text-align:center;letter-spacing:.05em;font-family:Space Mono,monospace;font-size:11px;font-weight:400;position:absolute;bottom:16px;left:0;right:0}.portrait:after{content:"";background:var(--coral);z-index:1;border-radius:26px;position:absolute;inset:16px -16px -16px 16px}.portrait .badge{z-index:3;background:var(--cobalt);color:#fff;box-shadow:var(--shadow);border-radius:10px;padding:7px 12px;font-family:Space Mono,monospace;font-size:12px;position:absolute;top:24px;left:-14px;transform:rotate(-5deg)}.portrait-col{flex-direction:column;align-items:center;display:flex}.portrait-cap{text-align:center;flex-direction:column;gap:3px;margin-top:34px;display:flex}.portrait-cap strong{letter-spacing:-.02em;font-family:Bricolage Grotesque;font-size:20px;font-weight:800}.portrait-cap span{color:var(--muted);letter-spacing:.02em;font-family:Space Mono,monospace;font-size:12px}.hero .tag{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.hero .tag b{background:#28c76f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #28c76f38}.hero h1{margin:22px 0 0;font-size:clamp(42px,8.5vw,92px);line-height:.96}.hero h1 .hl{white-space:nowrap;position:relative}.hero h1 .hl:after{content:"";background:color-mix(in srgb, var(--cobalt) 62%, transparent);z-index:-1;border-radius:3px;height:.34em;position:absolute;bottom:.09em;left:-2%;right:-2%;transform:rotate(-1.4deg)}.hero h1 em{color:var(--coral);font-style:normal}.lead{color:var(--muted);max-width:44ch;margin:26px 0 0;font-size:clamp(18px,2.4vw,22px)}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.btn{border-radius:999px;align-items:center;gap:9px;padding:13px 22px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .2s;display:inline-flex}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 12px 26px -12px var(--coral)}.btn-primary:hover{transform:translateY(-2px)}.btn-ghost{border:1.5px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px;display:grid}.stat{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:20px 22px}.stat .n{letter-spacing:-.03em;font-family:Bricolage Grotesque;font-size:clamp(30px,5vw,44px);font-weight:800;line-height:1}.stat:first-child .n{color:var(--coral)}.stat:nth-child(2) .n{color:var(--cobalt)}.stat:nth-child(3) .n{color:var(--coral)}.stat p{color:var(--muted);margin:8px 0 0;font-size:14px}@media (max-width:640px){.stats{grid-template-columns:1fr}}section{padding:72px 0}.sechead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:34px;display:flex}.sechead h2{font-size:clamp(30px,4.6vw,46px)}.sechead p{color:var(--muted);max-width:34ch;margin:0}.cards{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:720px){.cards{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:28px;transition:transform .16s,border-color .16s;position:relative;overflow:hidden}.card:hover{border-color:color-mix(in srgb,var(--coral) 55%,var(--line));transform:translateY(-4px)}.card:before{content:"";background:var(--coral);transform-origin:top;width:4px;transition:transform .18s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.card:hover:before{transform:scaleY(1)}.card .ico{background:var(--card-2);width:42px;height:42px;color:var(--coral);border-radius:12px;place-items:center;margin-bottom:18px;font-family:Space Mono,monospace;font-size:14px;font-weight:700;display:grid}.card:nth-child(2) .ico{color:var(--cobalt)}.card:nth-child(3) .ico{color:var(--coral)}.card:nth-child(4) .ico{color:var(--cobalt)}.card h3{margin-bottom:8px;font-size:22px}.card p{color:var(--muted);margin:0;font-size:15.5px}.card ul{flex-wrap:wrap;gap:7px;margin:16px 0 0;padding:0;list-style:none;display:flex}.card li{color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:4px 9px;font-family:Space Mono,monospace;font-size:12px}.tools{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:720px){.tools{grid-template-columns:1fr}}.tgroup{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:24px}.tgroup h3{letter-spacing:.02em;align-items:center;gap:10px;margin-bottom:16px;font-family:Space Mono,monospace;font-size:15px;font-weight:700;display:flex}.tgroup h3 .k{border-radius:3px;width:10px;height:10px;transform:rotate(12deg)}.tgroup .k{background:var(--cobalt)}.tags span{background:var(--card-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:8px 13px;font-size:14px;font-weight:500;transition:transform .12s,border-color .12s;display:inline-flex}.tags span svg{flex:none;width:19px;height:19px}.tags span:hover{border-color:color-mix(in srgb,var(--coral) 50%,var(--line));transform:translateY(-2px)}.tags .fpill{background:color-mix(in srgb,var(--cobalt) 12%,var(--card));border:1px solid color-mix(in srgb,var(--cobalt) 32%,var(--line));color:inherit;border-radius:10px;align-items:center;gap:8px;padding:8px 13px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .12s,border-color .12s;display:inline-flex}.tags .fpill img{object-fit:contain;flex:none;width:19px;height:19px}.tags .fpill:hover{border-color:color-mix(in srgb,var(--cobalt) 55%,var(--line))}a.fpill{cursor:pointer}a.fpill:hover{border-color:var(--cobalt)}.tags .fpill:hover{transform:translateY(-2px)}.tags{flex-wrap:wrap;gap:9px;display:flex}.about{background:var(--ink);color:var(--paper);border-radius:28px;padding:clamp(30px,5vw,60px);position:relative;overflow:hidden}.about .eyebrow{color:color-mix(in srgb,var(--paper) 60%, transparent)}.about h2{color:var(--paper);max-width:20ch;margin:14px 0 0;font-size:clamp(28px,4.4vw,44px)}.about p{color:color-mix(in srgb,var(--paper) 78%,transparent);max-width:56ch;margin-top:20px;font-size:17px}.about .blob{background:var(--coral);filter:blur(6px);opacity:.5;border-radius:46% 54% 60% 40%;width:240px;height:240px;position:absolute;top:-60px;right:-60px}.about .blob.b2{background:var(--cobalt);opacity:.45;width:180px;height:180px;top:auto;bottom:-90px;right:120px}.about .inner{z-index:1;position:relative}.chips{flex-wrap:wrap;gap:9px;margin-top:26px;display:flex}.chips span{background:color-mix(in srgb,var(--paper) 12%,transparent);border:1px solid color-mix(in srgb,var(--paper) 20%,transparent);border-radius:999px;padding:6px 12px;font-family:Space Mono,monospace;font-size:12px}.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:40px;display:grid}@media (max-width:760px){.contact-grid{grid-template-columns:1fr;gap:26px}}.contact h2{font-size:clamp(30px,4.6vw,46px)}.contact .sub{color:var(--muted);margin-top:14px}.direct{flex-direction:column;gap:12px;margin-top:26px;display:flex}.direct a{align-items:center;gap:10px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.direct a .ci{flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.direct a .ci svg{width:24px;height:24px}form{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:26px}.field{margin-bottom:16px}label{margin-bottom:7px;font-size:13px;font-weight:600;display:block}input,textarea{width:100%;font:inherit;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:15px}input:focus,textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 4px color-mix(in srgb,var(--cobalt) 16%,transparent);outline:none}textarea{resize:vertical;min-height:110px}form .btn-primary{cursor:pointer;border:0;justify-content:center;width:100%;font-family:inherit}.formnote{color:var(--muted);text-align:center;margin-top:12px;font-size:12.5px}footer{border-top:1px solid var(--line);margin-top:20px;padding:34px 0}.foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:14px;display:flex}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--ink)}.theme-btn{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;width:38px;height:38px;font-size:15px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.cc{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0e1f1e80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cc-card{background:var(--card);border:1px solid var(--line);border-radius:20px;width:460px;max-width:100%;padding:28px;box-shadow:0 10px 40px -10px #0e1f1e59}.cc h3{letter-spacing:-.02em;margin:0 0 8px;font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:22px;font-weight:800}.cc p{color:var(--muted);margin:0 0 18px;font-size:14.5px;line-height:1.55}.cc a{color:var(--cobalt);text-decoration:underline}.cc-btns{flex-direction:column;gap:10px;display:flex}.cc-row2{gap:10px;display:flex}.cc-row2 .cc-b{flex:1}.cc-b{font:inherit;cursor:pointer;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:11px;padding:11px 14px;font-size:14px;font-weight:600}.cc-b:hover{border-color:var(--ink)}.cc-b-primary{background:var(--coral);border-color:var(--coral);color:#fff}.cc-b-primary:hover{filter:brightness(1.04)}.cc-link{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:0;padding:4px;font-size:13.5px;font-weight:600;text-decoration:underline}.cc-link:hover{color:var(--ink)}.cc-cat{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.cc-cat:first-of-type{border-top:0}.cc-txt{flex:1}.cc-txt b{font-size:14px}.cc-txt span{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.cc-sw{flex:none;width:42px;height:24px;margin-top:2px;position:relative}.cc-sw input{opacity:0;width:0;height:0;position:absolute}.cc-tr{background:var(--line);border-radius:999px;transition:all .15s;position:absolute;inset:0}.cc-tr:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.cc-sw input:checked+.cc-tr{background:var(--cobalt)}.cc-sw input:checked+.cc-tr:after{transform:translate(18px)}.cc-sw input:disabled+.cc-tr{background:var(--coral);opacity:.55}.cc-reopen{z-index:900;border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;line-height:1;transition:transform .12s;display:flex;position:fixed;bottom:18px;left:18px;box-shadow:0 6px 20px -8px #0e1f1e66}.cc-reopen:hover{transform:translateY(-2px)}
