:root{--bg:#f4efea;--lilac:#8b2283;--lilac-light:#c44bbb;--lilac-soft:rgba(139,34,131,.1);--lilac-border:rgba(139,34,131,.28);--surface:#faf6f2;--text:#2b2b2b;--muted:#6b6b6b;--brand:#c21f2f;--brand-dark:#7a1620;--accent:#56a384;--green-dark:#496860;--browser-chrome:#496860;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--header-row-height:78px;--header-height:calc(var(--header-row-height) + var(--safe-area-top));--border-subtle:rgba(43,43,43,.08);--border:rgba(43,43,43,.12);--border-strong:rgba(43,43,43,.2);--border-hover:rgba(43,43,43,.32);--shadow-sm:rgba(43,43,43,.07);--shadow-md:rgba(43,43,43,.13);--vignette:rgba(73,104,96,.55);--s-1:6px;--s-2:10px;--s-3:14px;--s-4:18px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--text-sm:13px;--text-md:16px;--text-lg:18px;--h1:clamp(34px,4vw,54px);--h2:clamp(26px,3vw,36px);--h3:20px;--lh-tight:1.05;--lh-normal:1.6}@media(max-width:860px){:root{--header-row-height:64px}}html.dark{--bg:#0b0f0e;--surface:#1a1f1d;--text:#f3f1ec;--muted:hsla(43,23%,94%,.6);--border-subtle:hsla(43,23%,94%,.07);--border:hsla(43,23%,94%,.11);--border-strong:hsla(43,23%,94%,.15);--border-hover:hsla(43,23%,94%,.24);--shadow-sm:rgba(0,0,0,.25);--shadow-md:rgba(0,0,0,.4);--vignette:rgba(73,104,96,.32)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px);overflow-x:clip}body,html{background:var(--bg)}body{min-height:100svh;padding-top:calc(var(--header-row-height) + env(safe-area-inset-top,0px));color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--text-md);line-height:var(--lh-normal)}body.menu-scroll-locked,body.scroll-locked,html.menu-scroll-locked,html.scroll-locked{overflow:hidden;overscroll-behavior:none}body.menu-scroll-locked{position:fixed;top:var(--locked-scroll-y);left:0;right:0;width:100%}body.scroll-locked{position:fixed;top:var(--scroll-lock-y);left:0;right:0;width:100%}a{color:inherit;text-decoration:none}html:after,html:before{content:"";position:fixed;left:0;right:0;pointer-events:none;z-index:10000}html:before{top:0;height:env(safe-area-inset-top,0);background:var(--browser-chrome)}html:after{bottom:0;height:env(safe-area-inset-bottom,0);background:var(--bg)}:target,section:focus{outline:none}body:before{content:"";position:fixed;inset:calc(var(--safe-area-top)*-1) 0 calc(var(--safe-area-bottom)*-1);pointer-events:none;box-shadow:inset 0 0 120px var(--vignette);z-index:9999;transform:translateZ(0);-webkit-transform:translateZ(0);clip-path:inset(0)}@media(max-width:768px){body:before{box-shadow:none}}p{margin:0;color:var(--muted);font-weight:400}h1,h2,h3{margin:0;color:var(--text);letter-spacing:-.02em;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-weight:600}h1{font-size:var(--h1);line-height:var(--lh-tight)}h2{font-size:var(--h2);line-height:1.15}h3{font-size:var(--h3);line-height:1.2}ul{margin:0;padding-left:18px}.mono,code,pre{font-family:JetBrains Mono,Courier New,monospace}.project-image-link{display:block;aspect-ratio:16/10;overflow:hidden;width:100%}.project-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.card-image-wrap{aspect-ratio:16/10;overflow:hidden;width:100%}.card-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.container{max-width:1100px;margin:0 auto;padding:0 24px}.section{padding:var(--s-8) 0}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:1fr}@media(min-width:900px){.grid-2{grid-template-columns:1.15fr .85fr;align-items:center}}.align-center{align-items:center}.grid-3{grid-template-columns:1fr}@media(min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}}.kicker{margin:0;letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:14px;font-family:Space Grotesk,system-ui,sans-serif;font-weight:600;font-size:var(--text-md);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease,opacity .12s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0);opacity:.92}.btn:focus-visible{outline:2px solid rgba(86,163,132,.7);outline-offset:3px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--border-subtle)}.btn-small{padding:10px 12px;border-radius:12px;background:#56a38426;color:var(--green-dark);border-color:#56a3844d}.page-enter-active{transition:opacity .25s ease}.page-leave-active{transition:opacity .15s ease}.page-enter-from,.page-leave-to{opacity:0}.p-sm{font-size:var(--text-sm)}.p-md{font-size:var(--text-md)}.p-lg{font-size:var(--text-lg)}.text-muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.headerRoot[data-v-fc97c5fd]{position:fixed;top:0;left:0;right:0;z-index:100}.header[data-v-fc97c5fd]{position:relative;z-index:110;border-bottom:1px solid rgba(0,0,0,.15);padding-top:env(safe-area-inset-top,0);transition:background .6s ease,box-shadow .6s ease,border-bottom-color .6s ease}.header[data-v-fc97c5fd],.header.scrolled[data-v-fc97c5fd]{background:linear-gradient(var(--browser-chrome),var(--browser-chrome)) top/100% env(safe-area-inset-top,0) no-repeat,var(--green-dark)}.header.scrolled[data-v-fc97c5fd]{box-shadow:0 2px 24px #00000038;border-bottom-color:#00000014}.row[data-v-fc97c5fd]{height:var(--header-row-height);display:flex;justify-content:space-between}.brand[data-v-fc97c5fd],.row[data-v-fc97c5fd]{align-items:center}.brand[data-v-fc97c5fd]{display:inline-flex;gap:12px;text-decoration:none;flex-shrink:0}.logo[data-v-fc97c5fd]{width:44px;height:44px;-o-object-fit:contain;object-fit:contain}.brandText[data-v-fc97c5fd]{display:grid;line-height:1.15}.name[data-v-fc97c5fd]{font-family:Space Grotesk,system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;color:#fff}.kicker[data-v-fc97c5fd]{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff8c}.nav[data-v-fc97c5fd]{display:flex;align-items:center;gap:24px}.navLink[data-v-fc97c5fd]{text-decoration:none;color:#ffffffc7;font-family:Space Grotesk,system-ui,sans-serif;font-weight:500;position:relative;white-space:nowrap}.navLink[data-v-fc97c5fd]:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:#ffffff8c;transition:width .16s ease}.navLink[data-v-fc97c5fd]:hover{color:#fff}.navLink[data-v-fc97c5fd]:hover:after{width:100%}.controls[data-v-fc97c5fd]{display:flex;align-items:center;gap:10px;flex-shrink:0}.controlsDivider[data-v-fc97c5fd]{width:1px;height:20px;background:#ffffff26;margin:0 4px}.langWrap[data-v-fc97c5fd]{position:relative}.langToggle[data-v-fc97c5fd]{display:flex;align-items:center;gap:5px;height:36px;padding:0 10px;border-radius:10px;background:#ffffff1a;border:1px solid hsla(0,0%,100%,.18);color:#ffffffd9;font-family:Space Grotesk,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background .12s ease,color .12s ease}.langToggle[data-v-fc97c5fd]:hover{background:#ffffff2e;color:#fff}.chevron[data-v-fc97c5fd]{transition:transform .16s ease;opacity:.7}.chevron.open[data-v-fc97c5fd]{transform:rotate(180deg)}.langMenu[data-v-fc97c5fd]{position:absolute;top:calc(100% + 8px);right:0;min-width:130px;background:var(--green-dark);border:1px solid hsla(0,0%,100%,.18);border-radius:12px;padding:6px;display:grid;gap:2px;box-shadow:0 8px 24px #0000004d}.langItem[data-v-fc97c5fd]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.langItem[data-v-fc97c5fd]:hover{background:#ffffff1a;color:#fff}.langItem.active[data-v-fc97c5fd]{background:#ffffff24;color:#fff}.langCode[data-v-fc97c5fd]{font-size:11px;font-weight:700;letter-spacing:.08em;width:24px;flex-shrink:0}.langCode[data-v-fc97c5fd],.langName[data-v-fc97c5fd]{font-family:Space Grotesk,system-ui,sans-serif}.langName[data-v-fc97c5fd]{font-size:13px;font-weight:500}.themeToggle[data-v-fc97c5fd]{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#ffffff1a;border:1px solid hsla(0,0%,100%,.18);color:#ffffffd9;cursor:pointer;transition:background .12s ease,color .12s ease}.themeToggle[data-v-fc97c5fd]:hover{background:#ffffff2e;color:#fff}.menuToggle[data-v-fc97c5fd]{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:36px;height:36px;border-radius:10px;background:#ffffff1a;border:1px solid hsla(0,0%,100%,.18);cursor:pointer;padding:0;transition:background .12s ease}.menuToggle[data-v-fc97c5fd]:hover{background:#ffffff2e}.bar[data-v-fc97c5fd]{display:block;width:18px;height:2px;background:#ffffffe6;border-radius:2px;transform-origin:center;transition:transform .2s ease,opacity .2s ease}.menuToggle[aria-expanded=true] .bar1[data-v-fc97c5fd]{transform:translateY(7px) rotate(45deg)}.menuToggle[aria-expanded=true] .bar2[data-v-fc97c5fd]{opacity:0;transform:scaleX(0)}.menuToggle[aria-expanded=true] .bar3[data-v-fc97c5fd]{transform:translateY(-7px) rotate(-45deg)}.mobileDrawer[data-v-fc97c5fd]{position:fixed;top:var(--header-height);left:0;right:0;height:calc(100dvh - var(--header-height));z-index:90;background:var(--green-dark);transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .2s ease;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobileDrawer.open[data-v-fc97c5fd]{transform:translateY(0);opacity:1;pointer-events:auto}.drawerNav[data-v-fc97c5fd]{padding:24px 24px calc(40px + var(--safe-area-bottom));display:flex;flex-direction:column}.drawerLink[data-v-fc97c5fd]{display:block;padding:20px 4px;font-family:Space Grotesk,system-ui,sans-serif;font-size:26px;font-weight:600;color:#ffffffb8;text-decoration:none;border-bottom:1px solid hsla(0,0%,100%,.1);letter-spacing:-.02em;transition:color .12s ease,padding-left .14s ease}.drawerLink[data-v-fc97c5fd]:hover{color:#fff;padding-left:10px}.drawerActions[data-v-fc97c5fd]{margin-top:36px}.drawerCta[data-v-fc97c5fd]{display:flex;justify-content:center;width:100%;height:52px;font-size:16px;border-radius:14px}@media(max-width:860px){.headerRoot[data-v-fc97c5fd]{--header-row-height:64px}.controlsDivider[data-v-fc97c5fd],.desktopCta[data-v-fc97c5fd],.nav[data-v-fc97c5fd]{display:none}.controls[data-v-fc97c5fd]{gap:8px}.menuToggle[data-v-fc97c5fd]{display:flex}}
