@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;800;900&display=swap";:root{--color-primary: #050505;--color-on-primary: #ffffff;--color-secondary: #6b6473;--color-tertiary: #983dc4;--color-tertiary-hover: #7c2ea5;--color-tertiary-container: #f4e9f9;--color-on-tertiary: #ffffff;--color-accent-soft: #c58dde;--color-neutral: #ffffff;--color-neutral-variant: #f7f5fa;--color-surface: #ffffff;--color-surface-container: #f8f7fb;--color-surface-container-high: #f0eef6;--color-outline: #e5e0ee;--color-outline-variant: #d6d0df;--color-text-primary: #101010;--color-text-secondary: #5e5a66;--color-text-muted: #8a8494;--color-inverse-surface: #030303;--color-inverse-surface-container: #0a0a0d;--color-inverse-surface-container-high: #111116;--color-inverse-outline: #24222a;--color-inverse-outline-strong: #393543;--color-inverse-text-primary: #f8f7fa;--color-inverse-text-secondary: #c9c4d0;--color-inverse-text-muted: #898390;--color-focus-ring: #b25fd6;--color-success: #3ddc97;--color-warning: #ffd166;--color-danger: #ff5c7a;--color-bg: var(--color-surface);--color-bg-secondary: var(--color-surface-container);--color-text: var(--color-text-primary);--color-text-dim: var(--color-text-secondary);--color-accent: var(--color-tertiary);--color-border: var(--color-outline);--font-display: "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-accent: "Inter", system-ui, sans-serif;--fs-display-hero: clamp(3rem, 8vw, 7.25rem);--fs-display-section: clamp(2.25rem, 5vw, 4.75rem);--fs-h1: clamp(2.5rem, 6vw, 5.5rem);--fs-h2: clamp(2rem, 4vw, 3.5rem);--fs-h3: 1.25rem;--fs-body-lg: 1.125rem;--fs-body-md: 1rem;--fs-body-sm: .875rem;--fs-label-caps: .75rem;--fs-nav-label: .75rem;--fw-regular: 400;--fw-medium: 500;--fw-bold: 700;--fw-extra: 800;--fw-black: 900;--lh-display-hero: .86;--lh-display-section: .92;--lh-h1: .9;--lh-h2: .98;--lh-h3: 1.15;--lh-body-lg: 1.65;--lh-body-md: 1.6;--lh-body-sm: 1.5;--ls-display: 0;--ls-section: 0;--ls-h2: 0;--ls-h3: 0;--ls-body: 0;--ls-label-caps: .12em;--ls-nav-label: .08em;--radius-none: 0px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 999px;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--space-section-y: clamp(80px, 10vw, 144px);--container-max: 1680px;--container-padding: clamp(18px, 3.2vw, 56px);--header-height: 72px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-card: 0 4px 16px rgba(0, 0, 0, .06);--shadow-card-hover: 0 18px 60px rgba(152, 61, 196, .14);--shadow-glow: 0 0 0 1px rgba(197, 141, 222, .18), 0 18px 70px rgba(0, 0, 0, .45);--shadow-btn: 0 12px 32px rgba(152, 61, 196, .28);--transition-fast: .18s ease;--transition-base: .22s ease;--transition-slow: .3s ease}[data-theme=dark]{--color-neutral: #030303;--color-neutral-variant: #0a0a0d;--color-surface: var(--color-inverse-surface);--color-surface-container: var(--color-inverse-surface-container);--color-surface-container-high: var(--color-inverse-surface-container-high);--color-outline: var(--color-inverse-outline);--color-outline-variant: var(--color-inverse-outline-strong);--color-text-primary: var(--color-inverse-text-primary);--color-text-secondary: var(--color-inverse-text-secondary);--color-text-muted: var(--color-inverse-text-muted);--color-bg: var(--color-inverse-surface);--color-bg-secondary: var(--color-inverse-surface-container);--color-text: var(--color-inverse-text-primary);--color-text-dim: var(--color-inverse-text-secondary);--color-border: var(--color-inverse-outline)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-family:var(--font-body);font-size:16px;background-color:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;overflow-x:clip}body{width:100%;min-height:100vh;line-height:1.5;overflow-x:clip;background-color:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-slow),color var(--transition-slow)}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}ul,ol{list-style:none}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.display-hero{font-family:var(--font-display);font-size:var(--fs-display-hero);font-weight:var(--fw-black);line-height:var(--lh-display-hero);letter-spacing:var(--ls-display);text-transform:uppercase}.display-section{font-family:var(--font-display);font-size:var(--fs-display-section);font-weight:var(--fw-black);line-height:var(--lh-display-section);letter-spacing:var(--ls-section);text-transform:uppercase}h1,.h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:var(--fw-black);line-height:var(--lh-h1);letter-spacing:var(--ls-section);overflow-wrap:normal;word-break:keep-all;hyphens:none;text-wrap:balance}h2,.h2{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:850;line-height:var(--lh-h2);letter-spacing:var(--ls-h2);overflow-wrap:normal;word-break:keep-all;hyphens:none;text-wrap:balance}h3,.h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-extra);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);overflow-wrap:normal;word-break:keep-all;hyphens:none;text-wrap:pretty}p{font-family:var(--font-body);font-size:var(--fs-body-md);font-weight:var(--fw-regular);line-height:var(--lh-body-md);color:var(--color-text-dim)}.body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);letter-spacing:var(--ls-body)}.body-sm{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}.label-caps{font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);line-height:1;letter-spacing:var(--ls-label-caps);text-transform:uppercase}.nav-label{font-family:var(--font-accent);font-size:var(--fs-nav-label);font-weight:var(--fw-extra);line-height:1;letter-spacing:var(--ls-nav-label);text-transform:uppercase}.eyebrow{display:block;font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:var(--ls-label-caps);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.text-accent{color:var(--color-tertiary)}.text-gradient{background:linear-gradient(to right,var(--color-text) 0%,var(--color-text-dim) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=dark] .text-gradient{background:linear-gradient(to right,var(--color-inverse-text-primary) 0%,var(--color-inverse-text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.container{width:100%;max-width:min(var(--container-max),calc(100vw - (var(--container-padding) * 2)));margin-inline:auto;padding-inline:var(--container-padding)}@media(max-width:1023px){.hero-content,.features-copy,.contact-copy,.services-heading-grid,.solution-copy,.project-group,.project-group-header,.projects-header,.hero-title,.features-title,.services-title,.contact-title,.projects-title,.project-group-header h3{text-align:center}.hero-subtitle,.hero-note,.features-intro,.solution-subtitle,.solution-copy p:not(.solution-subtitle):not(.solution-fit),.solution-fit,.contact-subtitle,.project-group-summary,.project-summary{text-align:justify;hyphens:none}}.section{padding-block:var(--space-section-y)}.divider{border:none;border-top:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:44px;padding:14px 18px;font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:var(--ls-label-caps);text-transform:uppercase;border:none;border-radius:var(--radius-xs);cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;text-decoration:none}.btn:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.btn-primary{background-color:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background-color:var(--color-tertiary);color:var(--color-on-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-btn)}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-accent{background-color:var(--color-tertiary);color:var(--color-on-tertiary)}.btn-accent:hover{background-color:var(--color-tertiary-hover);transform:translateY(-2px);box-shadow:var(--shadow-btn)}.btn-accent:active{transform:translateY(0);box-shadow:none}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-radius:var(--radius-full);padding:10px 12px}.btn-ghost:hover{background-color:var(--color-tertiary-container);color:var(--color-tertiary)}@media(max-width:767px){.btn{min-height:48px}}.badge{display:inline-block;padding:4px 12px;font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:var(--ls-label-caps);text-transform:uppercase;color:var(--color-tertiary);background-color:var(--color-tertiary-container);border-radius:var(--radius-full);border:1px solid rgba(152,61,196,.2)}[data-theme=dark] .badge{background-color:#983dc426;border-color:#983dc44d}.section-header{margin-bottom:var(--space-3xl)}.reveal-ready [data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .72s ease,transform .82s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal-ready [data-reveal=left]{transform:translate3d(-36px,0,0)}.reveal-ready [data-reveal=right]{transform:translate3d(36px,0,0)}.reveal-ready [data-reveal=scale]{transform:translate3d(0,22px,0) scale(.975)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}.card{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}[data-theme=dark] .card:hover{transform:translateY(-4px);border-color:#c58dde5c;box-shadow:var(--shadow-glow)}.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}@media(prefers-reduced-motion:reduce){.reveal-ready [data-reveal]{opacity:1;transform:none;transition:none}}.navbar{position:fixed;top:0;left:0;width:100%;height:var(--header-height);z-index:1000;display:flex;align-items:center;overflow:clip;background:transparent;border-bottom:1px solid transparent;transition:background var(--transition-slow),border-color var(--transition-slow),height var(--transition-slow)}.navbar.scrolled{background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--color-outline);box-shadow:0 12px 40px #1010100f}[data-theme=dark] .navbar.scrolled{background:#030303d1;border-bottom-color:var(--color-inverse-outline);box-shadow:0 18px 44px #00000052}.navbar-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;min-width:0}.navbar-logo{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:1.375rem;font-weight:var(--fw-black);letter-spacing:0;text-transform:uppercase;color:var(--color-text);white-space:nowrap;text-decoration:none;flex-shrink:0}.navbar-logo-wordmark{display:inline-flex;align-items:center;gap:0;line-height:1;min-width:0}.navbar-logo-k{display:block;width:auto;height:1.62rem;flex-shrink:0;object-fit:contain;margin-right:-2px;transform:translateY(1px);filter:none}.navbar-logo-text{display:inline-flex;align-items:center;line-height:1;margin-left:0;transform:translateY(1px)}.navbar-logo-char{display:inline-block}.desktop-nav{display:flex;align-items:center;gap:var(--space-lg);min-width:0}.nav-links{display:flex;align-items:center;gap:var(--space-lg)}.nav-link{position:relative;padding:10px 8px;font-family:var(--font-accent);font-size:var(--fs-nav-label);font-weight:var(--fw-extra);letter-spacing:var(--ls-nav-label);text-transform:uppercase;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast)}.nav-link:after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:2px;background:var(--color-tertiary);transform:scaleX(0);transform-origin:right;transition:transform var(--transition-base)}.nav-link:hover{color:var(--color-tertiary);transform:translateY(-1px)}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.theme-btn,.menu-btn,.close-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text);background:transparent;border:1px solid var(--color-border);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.theme-btn{border-radius:var(--radius-full);flex-shrink:0}.menu-btn{border-radius:var(--radius-sm)}.close-btn{border-radius:var(--radius-full)}.theme-btn:hover,.menu-btn:hover,.close-btn:hover{background:var(--color-tertiary-container);border-color:var(--color-tertiary);color:var(--color-tertiary);box-shadow:0 10px 30px #983dc424}[data-theme=dark] .sun-icon,[data-theme=light] .moon-icon{display:none}.mobile-controls{display:none;align-items:center;gap:var(--space-sm);margin-left:auto;flex-shrink:0}.mobile-menu{position:fixed;inset:0 0 0 auto;z-index:9999;display:flex;flex-direction:column;width:100vw;max-width:100vw;padding:var(--space-lg);overflow-x:hidden;overflow-y:auto;background:var(--color-bg);transform:translate(100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}.mobile-menu.open{transform:translate(0)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-lg);margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.mobile-menu-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.mobile-links{display:flex;flex-direction:column;justify-content:center;flex-grow:1;gap:var(--space-xl);text-align:center}.mobile-link{font-family:var(--font-accent);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:var(--fw-extra);letter-spacing:0;text-transform:uppercase;color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.mobile-link:hover{color:var(--color-tertiary)}.mobile-link-secondary{color:var(--color-text-secondary)}.mobile-cta{width:100%;max-width:340px;margin-inline:auto;min-height:48px}@media(max-width:1023px){.desktop-nav{display:none!important}.mobile-controls{display:flex!important}}@media(max-width:767px){.navbar-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm)}.navbar-logo{font-size:1.08rem}.navbar-logo-wordmark{gap:0}.navbar-logo-k{height:1.42rem;margin-right:-2px}.navbar-logo-text{margin-left:0}.mobile-menu{padding:var(--space-md)}.mobile-controls{margin-left:0;justify-self:end}.menu-btn{width:42px;height:42px;color:var(--color-text);border-color:#983dc429;background:#ffffffb3;box-shadow:0 10px 26px #10101014;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}[data-theme=dark] .menu-btn{color:#fff;border-color:#ffffff3d;background:#ffffff0f;box-shadow:0 0 0 1px #ffffff0f}.hero{--hero-stage-height: clamp(720px, 100svh, 1040px);position:relative;display:flex;align-items:center;min-height:var(--hero-stage-height);padding-top:var(--header-height);overflow:hidden;isolation:isolate;background:linear-gradient(90deg,#fffffffe 0% 58%,#faf7fdfa),var(--color-bg)}.hero:before{content:"";position:absolute;top:-120px;right:-160px;width:min(54vw,760px);aspect-ratio:1;background:none;pointer-events:none;z-index:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(152,61,196,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(152,61,196,.024) 1px,transparent 1px);background-size:38px 38px,38px 38px;mask-image:radial-gradient(circle at 74% 50%,black 0%,black 13%,rgba(0,0,0,.62) 32%,transparent 66%);opacity:.1;pointer-events:none;z-index:0}[data-theme=dark] .hero{background:linear-gradient(90deg,#030305 0% 56%,#120a18fa),var(--color-bg)}[data-theme=dark] .hero:before{background:radial-gradient(circle,rgba(152,61,196,.14) 0%,transparent 70%)}[data-theme=dark] .hero:after{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:38px 38px,38px 38px;opacity:.22}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(580px,1.1fr);align-items:center;min-height:calc(var(--hero-stage-height) - var(--header-height));gap:clamp(28px,4vw,84px);padding-block:clamp(16px,3vh,36px)}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:720px}.hero-title{margin-bottom:var(--space-md);font-family:var(--font-display);font-size:clamp(3rem,4.7vw,5.7rem);font-weight:var(--fw-black);line-height:.88;letter-spacing:0;text-transform:uppercase;color:var(--color-text);text-wrap:balance}.hero-title-mask{display:block;overflow:visible;padding-top:.16em;padding-bottom:.06em;margin-top:0;margin-bottom:0}.hero-title-line{display:block;width:fit-content;max-width:100%;white-space:nowrap}.hero-title-line-tight{font-size:.93em}.hero-title .highlight{color:var(--color-tertiary)}.hero-title-mobile{display:none}.hero-subtitle{max-width:40ch;margin-bottom:clamp(22px,2vw,30px);font-size:clamp(1rem,1.16vw,1.14rem);line-height:1.58;color:var(--color-text-dim)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);margin-bottom:14px}.hero-primary-btn{box-shadow:0 12px 30px #983dc43d}.hero-secondary-btn{border:1px solid var(--color-border);color:var(--color-text);background:#ffffffbd}.hero-secondary-btn:hover{border-color:var(--color-tertiary);background:var(--color-tertiary-container);color:var(--color-tertiary)}[data-theme=dark] .hero-secondary-btn{background:#ffffff03}.hero-note{max-width:36ch;font-size:.98rem;line-height:1.54;color:var(--color-text-muted)}.hero-image{position:relative;display:flex;align-items:flex-end;justify-content:center;justify-self:stretch;min-width:0;width:min(100%,1040px);height:clamp(660px,74vh,960px);isolation:isolate;z-index:1}.hero-image:before{content:"";position:absolute;inset:10% 6% 12% 14%;border-radius:50%;background:none;filter:none;opacity:0;pointer-events:none;z-index:0}.hero-image:after{content:"";position:absolute;left:14%;right:12%;bottom:3%;height:14%;border-radius:50%;background:none;filter:none;pointer-events:none;z-index:0}[data-theme=dark] .hero-image:before{background:radial-gradient(ellipse at 56% 46%,#983dc433,#983dc414 30%,#983dc405 48%,#983dc400 74%);filter:blur(42px);opacity:.72}[data-theme=dark] .hero-image:after{background:radial-gradient(ellipse at center,#983dc433,#983dc41c 42%,#983dc400 76%);filter:blur(20px)}.hero-tech-field{position:absolute;inset:-2% -6% -8% -2%;z-index:0;pointer-events:none}.hero-tech-grid,.hero-tech-ring,.hero-tech-rail,.hero-tech-node,.hero-tech-corner{position:absolute}.hero-tech-grid{inset:8% 6% 8% 8%;border-radius:0;background:linear-gradient(rgba(152,61,196,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(152,61,196,.032) 1px,transparent 1px);background-size:30px 30px,30px 30px;mask-image:radial-gradient(ellipse at 58% 50%,black 0%,black 24%,rgba(0,0,0,.42) 44%,transparent 72%);opacity:.1}.hero-tech-ring{top:10%;left:14%;width:74%;aspect-ratio:1;border:1px solid rgba(197,141,222,.14);border-right-color:transparent;border-bottom-color:#c58dde14;border-radius:50%;opacity:.12;mask-image:radial-gradient(circle at center,transparent 62%,black 63%)}.hero-tech-rail{height:1px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(197,141,222,.18) 14%,rgba(197,141,222,.7) 50%,rgba(197,141,222,.18) 86%,transparent 100%);box-shadow:none;opacity:.72}.hero-tech-rail-1{top:22%;left:4%;width:68%}.hero-tech-rail-2{top:50%;right:-2%;width:50%}.hero-tech-rail-3{bottom:20%;left:8%;width:64%}.hero-tech-node{width:8px;aspect-ratio:1;border-radius:50%;background:#c58dde;box-shadow:0 0 0 3px #c58dde14,0 0 10px #c58dde2e;opacity:.72}.hero-tech-node-1{top:calc(22% - 4px);left:68%}.hero-tech-node-2{top:calc(50% - 4px);right:10%}.hero-tech-node-3{bottom:calc(20% - 4px);left:18%}.hero-tech-corner{display:none}.hero-tech-corner-1{top:14%;right:8%;border-width:2px 2px 0 0;border-top-right-radius:24px}.hero-tech-corner-2{bottom:14%;left:8%;border-width:0 0 2px 2px;border-bottom-left-radius:24px}[data-theme=dark] .hero-tech-grid{background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(180deg,#983dc414,#983dc405);background-size:28px 28px,28px 28px,auto;opacity:.34}[data-theme=dark] .hero-tech-ring{border-color:#c58dde4d;border-right-color:transparent;border-bottom-color:#c58dde24;opacity:.3}[data-theme=dark] .hero-tech-rail{height:2px;box-shadow:0 0 18px #983dc433}[data-theme=dark] .hero-tech-node{width:10px;box-shadow:0 0 0 4px #c58dde14,0 0 20px #c58dde75;opacity:.78}[data-theme=dark] .hero-tech-corner{border-color:#c58dde3d}.hero-sprite-shell{position:relative;z-index:1;width:min(100%,980px);height:min(100%,980px);max-width:100%;margin-inline:auto;transform-origin:50% 88%;will-change:transform,opacity}.hero-mascot-media{position:absolute;left:50%;bottom:clamp(20px,2.8vh,34px);width:min(100%,900px);aspect-ratio:1;transform:translate(-50%)}.hero-sprite-viewport{position:relative;display:block;width:100%;height:100%;overflow:visible}.hero-mascot-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(17,17,21,.08));will-change:transform}[data-theme=dark] .hero-mascot-image{filter:drop-shadow(0 26px 60px rgba(0,0,0,.34))}@media(min-width:1800px){.hero-grid{grid-template-columns:minmax(0,.88fr) minmax(700px,1.12fr);gap:clamp(40px,5vw,120px)}.hero-content{max-width:800px}.hero-title{font-size:clamp(4.7rem,4.6vw,7.2rem)}.hero-subtitle{font-size:clamp(1.16rem,1vw,1.4rem)}.hero-image{width:min(100%,1180px);height:clamp(760px,44vw,1080px)}.hero-tech-field{inset:-4% -8% -10% -2%}.hero-sprite-shell{width:min(100%,1100px);height:min(100%,1100px)}.hero-mascot-media{width:min(100%,980px)}}@media(max-width:1199px){.hero{--hero-stage-height: clamp(680px, 100svh, 920px)}.hero-title{font-size:clamp(2.8rem,4.8vw,5rem)}.hero-grid{grid-template-columns:minmax(0,.94fr) minmax(380px,.98fr);gap:clamp(20px,3vw,48px)}.hero-image{width:min(100%,880px);height:clamp(600px,58vw,860px)}.hero-tech-field{inset:-2% -4% -7% -1%}.hero-sprite-shell{width:min(100%,820px);height:min(100%,820px)}.hero-mascot-media{width:min(100%,740px)}.hero-content{align-items:center;text-align:center;margin-inline:auto}.hero-title,.hero-subtitle,.hero-note{text-align:center}.hero-title-line{margin-inline:auto;text-wrap:balance}.hero-actions{justify-content:center}}@media(min-width:1024px)and (max-width:1599px){.hero-title{font-size:clamp(2.7rem,4.15vw,5rem)}}@media(max-width:1023px){.hero{min-height:auto;--hero-stage-height: auto}.hero-grid{grid-template-columns:1fr;justify-items:center;gap:clamp(18px,3vw,28px);min-height:auto;padding-block:var(--space-xl) var(--space-2xl)}.hero-content{align-items:center;width:100%;max-width:820px;text-align:center}.hero-title,.hero-subtitle,.hero-note{max-width:none;text-align:center}.hero-title-line{width:auto;margin-inline:auto;white-space:normal}.hero-actions{justify-content:center;width:100%}.hero-image{width:100%;max-width:760px;height:clamp(540px,72vw,760px);margin-inline:auto;justify-self:center;justify-content:center}.hero-tech-field{inset:2% -2% -4%}.hero-sprite-shell{width:min(100%,760px);height:min(100%,760px);margin-inline:auto}.hero-mascot-media{width:min(100%,700px)}}@media(max-width:767px){.hero{padding-top:calc(var(--header-height) + 10px)}.hero-grid{gap:18px;padding-block:0 var(--space-lg)}.hero-content{width:100%;max-width:min(100%,19rem);margin-inline:auto}.hero-title{font-size:clamp(1.74rem,7.4vw,2.46rem);line-height:.92}.hero-title-desktop{display:none}.hero-title-mobile{display:block}.hero-subtitle{width:100%;max-width:19rem;margin-bottom:var(--space-md);font-size:.98rem;line-height:1.52;text-align:center}.hero-actions{display:grid;grid-template-columns:1fr;gap:var(--space-sm);width:100%;max-width:19rem;margin-inline:auto}.hero-actions .btn{width:100%;min-width:0}.hero-note{max-width:19rem;font-size:.96rem;text-align:center}.hero-image{max-width:500px;height:clamp(390px,92vw,560px)}.hero-image:before{inset:10% 4% 14% 10%;border-radius:50%}.hero-tech-field{inset:4% -4% -4%}.hero-tech-grid{inset:10% 6%;background-size:22px 22px,22px 22px,auto}.hero-tech-ring{top:20%;left:10%;width:78%}.hero-tech-corner{width:48px;height:48px}.hero-sprite-shell{width:min(100%,500px);height:min(100%,500px)}.hero-mascot-media{width:min(100%,460px)}}@media(max-width:479px){.hero-content{max-width:min(100%,17.8rem)}.hero-title{font-size:clamp(1.62rem,7.5vw,2.22rem)}.hero-subtitle,.hero-actions,.hero-note{width:100%;max-width:17.8rem}.hero-image{max-width:420px;height:clamp(340px,88vw,470px)}.hero-tech-grid{inset:12% 4%;background-size:18px 18px,18px 18px,auto}.hero-sprite-shell{width:min(100%,420px);height:min(100%,420px)}.hero-mascot-media{width:min(100%,390px)}}@media(max-width:389px){.hero-title{font-size:clamp(1.44rem,6.9vw,1.94rem)}.hero-subtitle{font-size:.92rem}}.services{--services-title: rgba(16, 16, 16, .96);--services-body: rgba(16, 16, 16, .72);--services-strong: rgba(16, 16, 16, .9);--services-line: rgba(152, 61, 196, .18);--services-line-strong: rgba(152, 61, 196, .78);--services-node: #b26bd7;--services-grid: rgba(152, 61, 196, .06);--services-orbit: rgba(152, 61, 196, .1);--services-glow: rgba(152, 61, 196, .1);position:relative;padding-block:var(--space-section-y);overflow:hidden;background:linear-gradient(180deg,#fffffffe,#f9f7fcfe),var(--color-bg);border-bottom:1px solid var(--color-border)}[data-theme=dark] .services{--services-title: #ffffff;--services-body: rgba(255, 255, 255, .76);--services-strong: rgba(255, 255, 255, .92);--services-line: rgba(197, 141, 222, .16);--services-line-strong: rgba(197, 141, 222, .8);--services-node: #c58dde;--services-grid: rgba(197, 141, 222, .05);--services-orbit: rgba(197, 141, 222, .1);--services-glow: rgba(152, 61, 196, .08);background:radial-gradient(circle at 12% 12%,rgba(152,61,196,.08),transparent 28%),linear-gradient(180deg,#040406fa,#08080cfc),var(--color-bg)}.services:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--services-grid) 1px,transparent 1px),linear-gradient(90deg,var(--services-grid) 1px,transparent 1px);background-size:34px 34px,34px 34px;mask-image:radial-gradient(circle at 68% 44%,black 0%,black 22%,rgba(0,0,0,.56) 48%,transparent 82%);opacity:.08;pointer-events:none}[data-theme=dark] .services:before{opacity:.22}.services-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden}.services-ambient:before{content:"";position:absolute;top:8%;right:-8%;width:min(52vw,760px);height:min(58vw,820px);border:1px solid var(--services-orbit);border-left-color:transparent;border-bottom-color:#983dc40a;border-radius:50%;opacity:0;transform:rotate(-18deg)}.services-ambient:after{content:"";position:absolute;left:-12%;top:30%;width:min(46vw,640px);height:min(34vw,480px);border:1px solid rgba(152,61,196,.08);border-right-color:transparent;border-top-color:#983dc40a;border-radius:50%;opacity:0;transform:rotate(10deg)}.services-ambient-media{position:absolute;inset:auto -12% -14% auto;width:min(74vw,1180px);max-width:none;opacity:0;mix-blend-mode:screen}[data-theme=dark] .services-ambient:before{opacity:.28}[data-theme=dark] .services-ambient:after{opacity:.18}[data-theme=dark] .services-ambient-media{opacity:.28}.services-tech-lines{position:absolute;inset:0;pointer-events:none}.services-tech-rail,.services-tech-node{position:absolute}.services-tech-rail{height:1px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(152,61,196,.08) 12%,var(--services-line) 24%,var(--services-line-strong) 50%,var(--services-line) 76%,transparent 100%);box-shadow:none;opacity:.7}.services-tech-rail-1{top:18%;left:54%;width:min(24vw,380px)}.services-tech-rail-2{top:52%;left:12%;width:min(20vw,280px)}.services-tech-node{width:8px;aspect-ratio:1;border-radius:50%;background:var(--services-node);box-shadow:0 0 0 3px #c58dde14,0 0 10px #c58dde2e;opacity:.78}.services-tech-node-1{top:calc(18% - 4px);left:calc(54% + min(18vw,248px))}.services-tech-node-2{top:calc(52% - 4px);left:calc(12% + min(14vw,180px))}.services .container{position:relative;z-index:1}.services-heading-grid{position:relative;max-width:760px;margin-bottom:clamp(28px,4vw,48px)}.services-header{position:relative;z-index:1;margin-bottom:0}.services-title{max-width:9ch;margin-bottom:var(--space-md);font-family:var(--font-display);font-size:clamp(3rem,6vw,5.9rem);font-weight:var(--fw-black);line-height:.92;letter-spacing:0;text-transform:uppercase;color:var(--services-title);hyphens:none;overflow-wrap:normal;word-break:keep-all;text-wrap:balance;text-shadow:0 0 0 transparent}.solution-list{position:relative;display:grid;gap:clamp(44px,6vw,96px);margin-top:-64px}.solution-list:before{content:"";position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(152,61,196,.12) 10%,rgba(152,61,196,.22) 50%,rgba(152,61,196,.12) 90%,transparent 100%);opacity:.3;transform:translate(-50%);pointer-events:none}[data-theme=dark] .solution-list:before{opacity:.52}.solution-row{position:relative;display:grid;grid-template-columns:minmax(320px,.98fr) minmax(320px,1.02fr);align-items:start;gap:clamp(20px,2.6vw,36px);padding-block:clamp(6px,1.2vw,14px)}.solution-row:before{content:"";position:absolute;top:50%;left:-4%;width:min(48vw,700px);height:clamp(300px,34vw,470px);background:none;opacity:0;transform:translateY(-50%);filter:none;pointer-events:none}.solution-row:after{content:"";position:absolute;inset:12% 18%;border:1px solid rgba(152,61,196,.05);border-left-color:transparent;border-radius:50%;opacity:.12;transform:rotate(-10deg);pointer-events:none}.solution-row-reverse{grid-template-columns:minmax(320px,1.02fr) minmax(320px,.98fr)}.solution-row-reverse:before{left:auto;right:-4%}.solution-row-reverse:after{transform:rotate(10deg);border-left-color:#983dc40a;border-right-color:transparent}[data-theme=dark] .solution-row:before{background:radial-gradient(ellipse at center,var(--services-glow) 0%,rgba(152,61,196,.03) 38%,transparent 74%);opacity:.86;filter:blur(6px)}[data-theme=dark] .solution-row:after{border:1px solid rgba(152,61,196,.08);opacity:.22}.solution-row-reverse .solution-visual{order:2}.solution-visual{position:relative;display:grid;place-items:center;width:min(100%,600px);min-height:clamp(340px,32vw,500px);align-self:start;justify-self:start}.solution-visual-rail,.solution-visual-node,.solution-visual-ring{position:absolute;pointer-events:none}.solution-visual-rail{height:1px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(152,61,196,.08) 12%,var(--services-line) 24%,var(--services-line-strong) 50%,var(--services-line) 76%,transparent 100%);opacity:.74;box-shadow:none}.solution-visual-rail-1{top:20%;left:-6%;width:52%}.solution-visual-rail-2{right:-8%;bottom:18%;width:42%}.solution-visual-node{width:8px;aspect-ratio:1;border-radius:50%;background:var(--services-node);box-shadow:0 0 0 3px #c58dde14,0 0 10px #c58dde2e;opacity:.82}.solution-visual-node-1{top:calc(20% - 4px);left:34%}.solution-visual-node-2{right:2%;bottom:calc(18% - 4px)}.solution-visual-ring{top:2%;left:6%;width:min(74%,360px);aspect-ratio:1;border:1px solid var(--services-orbit);border-right-color:transparent;border-bottom-color:#983dc40a;border-radius:50%;opacity:.12}.solution-row-reverse .solution-visual-rail-1{left:auto;right:-6%}.solution-row-reverse .solution-visual-node-1{left:auto;right:34%}.solution-row-reverse .solution-visual-rail-2{left:-8%;right:auto}.solution-row-reverse .solution-visual-node-2{left:2%;right:auto}.solution-row-reverse .solution-visual-ring{left:auto;right:6%}.solution-visual-shell{position:relative;display:grid;place-items:center;width:min(100%,580px);aspect-ratio:1 / 1;min-height:auto;padding:clamp(18px,2.8vw,28px);overflow:visible;border:0;border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.96) 0%,rgba(255,255,255,.92) 56%,transparent 74%);box-shadow:none}[data-theme=dark] .solution-visual-shell{background:radial-gradient(circle at 50% 48%,rgba(18,18,26,.96) 0%,rgba(10,10,15,.95) 52%,rgba(10,10,15,.34) 72%,transparent 82%)}.solution-visual-shell:before{content:"";position:absolute;inset:10%;border:1px solid rgba(152,61,196,.08);border-radius:50%;pointer-events:none}.solution-visual-surface{position:absolute;inset:18% 10%;border:1px solid rgba(152,61,196,.09);border-radius:34px;background:linear-gradient(180deg,#ffffffb3,#f5f1fa6b),linear-gradient(var(--services-grid) 1px,transparent 1px),linear-gradient(90deg,var(--services-grid) 1px,transparent 1px);background-size:auto,24px 24px,24px 24px;box-shadow:inset 0 1px #ffffff52,0 24px 60px #983dc40f;opacity:.9;pointer-events:none}.solution-visual-surface:before,.solution-visual-surface:after{content:"";position:absolute;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(152,61,196,.28),transparent)}.solution-visual-surface:before{top:26%;left:-4%;width:52%}.solution-visual-surface:after{right:-6%;bottom:24%;width:44%}[data-theme=dark] .solution-visual-surface{border-color:#c58dde1a;background:linear-gradient(180deg,#12121ab8,#0a0a0f94),linear-gradient(var(--services-grid) 1px,transparent 1px),linear-gradient(90deg,var(--services-grid) 1px,transparent 1px);box-shadow:inset 0 1px #ffffff0a,0 24px 68px #0000003d}.solution-visual-shell:after{content:"";position:absolute;inset:5% 8%;border:1px solid rgba(152,61,196,.05);border-radius:48%;transform:rotate(-8deg);pointer-events:none}.solution-row-reverse .solution-visual-shell:after{transform:rotate(8deg)}.solution-row-reverse .solution-visual-surface:before{left:auto;right:-4%}.solution-row-reverse .solution-visual-surface:after{left:-6%;right:auto}.solution-visual-grid{position:absolute;inset:19%;background-image:linear-gradient(var(--services-grid) 1px,transparent 1px),linear-gradient(90deg,var(--services-grid) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(circle at center,black 0%,black 36%,rgba(0,0,0,.54) 62%,transparent 82%);opacity:.14;border-radius:50%;pointer-events:none}.solution-image{position:relative;z-index:1;width:min(100%,540px);max-height:450px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(17,17,21,.08))}[data-theme=dark] .solution-visual-rail{height:2px;box-shadow:0 0 16px #983dc429;opacity:.64}[data-theme=dark] .solution-visual-node{width:10px;box-shadow:0 0 0 4px #c58dde14,0 0 18px #c58dde6b}[data-theme=dark] .solution-visual-ring{opacity:.3}[data-theme=dark] .solution-visual-grid{opacity:.54}[data-theme=dark] .solution-image{filter:drop-shadow(0 26px 48px rgba(0,0,0,.26))}.solution-visual-web .solution-image{width:min(100%,520px)}.solution-visual-system .solution-image{width:min(100%,570px)}.solution-visual-mobile .solution-image{width:min(100%,540px)}.solution-copy{position:relative;z-index:1;display:grid;align-content:start;width:min(100%,620px);max-width:620px;justify-self:start;gap:0}.solution-row-reverse .solution-copy{justify-self:start}.solution-row-reverse .solution-visual{justify-self:end}.solution-row-system{grid-template-columns:minmax(380px,.94fr) minmax(420px,1.06fr);gap:clamp(24px,3vw,44px)}.solution-row-system .solution-copy{max-width:680px}.solution-row-system .solution-copy h3{max-width:18ch;font-size:clamp(2rem,2.55vw,3rem)}.solution-row-system .solution-subtitle,.solution-row-system .solution-copy p:not(.solution-subtitle):not(.solution-fit),.solution-row-system .solution-fit{max-width:54ch}.solution-row-system .solution-visual{width:min(100%,640px);min-height:clamp(380px,34vw,540px)}.solution-row-system .solution-visual-shell{width:min(100%,620px)}.solution-row-system .solution-image{width:min(100%,600px);max-height:490px}.solution-row-system.solution-row-reverse .solution-visual{justify-self:center}.solution-copy h3{max-width:16.5ch;margin-bottom:var(--space-sm);font-family:var(--font-display);font-size:clamp(1.84rem,2.25vw,2.7rem);font-weight:var(--fw-extra);line-height:.98;letter-spacing:0;text-transform:none;color:var(--services-title);hyphens:none;overflow-wrap:normal;word-break:keep-all;text-wrap:balance}.solution-subtitle{max-width:36ch;margin-bottom:var(--space-md);font-size:clamp(1rem,1.2vw,1.16rem);font-weight:var(--fw-bold);line-height:1.48;color:var(--services-strong)}.solution-copy p:not(.solution-subtitle):not(.solution-fit){max-width:50ch;color:var(--services-body)}.solution-fit{max-width:48ch;margin-block:var(--space-lg) var(--space-xl);padding-top:var(--space-md);border-top:1px solid rgba(152,61,196,.16);font-size:var(--fs-body-sm);font-weight:var(--fw-bold);line-height:1.62;color:var(--services-strong)}.solution-cta{width:fit-content;min-width:min(100%,320px);border-radius:var(--radius-full);white-space:normal;text-align:center}@media(max-width:1180px){.solution-list{margin-top:-36px}.services-heading-grid,.solution-copy{text-align:center;margin-inline:auto}.services-title{margin-inline:auto;text-align:center}.solution-subtitle,.solution-copy p:not(.solution-subtitle):not(.solution-fit),.solution-fit{text-align:justify}.solution-row,.solution-row-reverse{grid-template-columns:minmax(260px,.96fr) minmax(0,1.04fr);gap:clamp(18px,2.6vw,30px)}.solution-row-reverse .solution-visual{order:2}.solution-visual{width:min(100%,540px);min-height:clamp(320px,32vw,440px)}.solution-visual-shell{width:min(100%,520px)}.solution-image{max-height:370px}.solution-row-system{grid-template-columns:minmax(300px,.94fr) minmax(360px,1.06fr);gap:clamp(20px,2.8vw,32px)}.solution-row-system .solution-copy{max-width:620px}.solution-row-system .solution-copy h3{max-width:16.8ch;font-size:clamp(1.84rem,2.3vw,2.55rem)}.solution-row-system .solution-visual{width:min(100%,580px);min-height:clamp(340px,32vw,460px)}.solution-row-system .solution-visual-shell{width:min(100%,560px)}.solution-row-system .solution-image{width:min(100%,540px);max-height:408px}.solution-copy h3{text-align:center}}@media(max-width:1023px){.solution-list{margin-top:-42px}.services-heading-grid{max-width:680px;margin-bottom:clamp(18px,4vw,30px)}.services-tech-rail-1{top:16%;left:42%;width:34%}.services-tech-rail-2{top:48%;left:10%;width:24%}.services-tech-node-1{left:68%}.services-tech-node-2{left:28%}.solution-list:before{left:22px;top:2%;bottom:2%;transform:none}.solution-row,.solution-row-reverse{grid-template-columns:1fr;gap:16px;padding-left:22px}.solution-row:before,.solution-row-reverse:before{inset:auto -8% 8%;width:auto;height:320px;transform:none}.solution-row:after,.solution-row-reverse:after{inset:14% 4% 14% 6%;transform:rotate(0)}.solution-row-reverse .solution-visual{order:0}.solution-visual{justify-content:center;min-height:280px;width:100%;justify-self:stretch}.solution-visual-shell{width:min(100%,440px);margin-inline:auto}.solution-copy{max-width:none;width:100%;justify-self:stretch;text-align:center}.solution-copy h3,.solution-subtitle,.solution-copy p,.solution-fit{max-width:none;text-align:justify}.solution-row-system .solution-visual,.solution-row-system .solution-visual-shell{max-width:none}.solution-row-system .solution-visual{width:100%}.solution-row-system .solution-visual-shell{width:min(100%,440px)}.solution-row-system .solution-image{width:min(100%,420px);max-height:320px}}@media(max-width:767px){.services{padding-block:clamp(62px,16vw,96px)}.services:before{background-size:26px 26px,26px 26px}.services-ambient:before{top:10%;right:-18%;width:min(88vw,420px);height:min(92vw,460px)}.services-ambient:after{left:-28%;top:56%;width:min(90vw,420px);height:min(64vw,300px)}.services-tech-rail-2,.services-tech-node-2{display:none}.services-tech-rail-1{top:20%;left:50%;width:32%}.services-tech-node-1{left:74%}.services-heading-grid{max-width:none;margin-bottom:16px}.services-title{max-width:7.4ch;font-size:clamp(2.2rem,11vw,3.8rem);line-height:.94}.solution-list{gap:34px;margin-top:-26px}.solution-list:before{left:14px}.solution-row,.solution-row-reverse{gap:12px;padding-left:14px}.solution-row:before,.solution-row-reverse:before{left:-10%;right:-10%;bottom:12%;height:250px}.solution-row:after,.solution-row-reverse:after{inset:12% 2% 12% 4%}.solution-visual{min-height:244px}.solution-visual-rail-1{top:18%;left:-8%;width:54%}.solution-visual-rail-2{right:-10%;bottom:18%;width:44%}.solution-visual-node-1{left:32%}.solution-visual-node-2{right:2%}.solution-row-reverse .solution-visual-rail-1{right:-8%}.solution-row-reverse .solution-visual-node-1{right:32%}.solution-row-reverse .solution-visual-rail-2{left:-10%}.solution-row-reverse .solution-visual-node-2{left:2%}.solution-visual-ring{width:min(82%,290px)}.solution-visual-shell{width:min(100%,332px);padding:14px}.solution-visual-grid{inset:20%;background-size:20px 20px}.solution-image{width:min(100%,294px);max-height:252px}.solution-row-system .solution-visual-shell{width:min(100%,336px)}.solution-row-system .solution-image{width:min(100%,304px);max-height:260px}.solution-copy h3{max-width:none;font-size:clamp(1.42rem,7.8vw,1.96rem);line-height:.98}.solution-subtitle{font-size:1rem}.solution-cta{width:100%;min-width:0}}.features{--features-bg-top: rgba(249, 248, 251, .98);--features-bg-bottom: rgba(242, 239, 247, .98);--features-grid-line: rgba(152, 61, 196, .038);--features-orbit: rgba(197, 141, 222, .14);--features-orbit-soft: rgba(197, 141, 222, .08);--features-title: rgba(16, 16, 16, .96);--features-body: rgba(16, 16, 16, .72);--features-card-bg-top: rgba(255, 255, 255, .95);--features-card-bg-bottom: rgba(247, 244, 250, .96);--features-card-border: rgba(197, 141, 222, .18);--features-card-shadow: 0 24px 70px rgba(152, 61, 196, .08);--features-card-line: rgba(197, 141, 222, .58);--features-card-line-fade: rgba(197, 141, 222, .08);--features-card-title: rgba(16, 16, 16, .96);--features-card-body: rgba(16, 16, 16, .7);position:relative;overflow:hidden;padding-block:var(--space-section-y);background:linear-gradient(180deg,var(--features-bg-top),var(--features-bg-bottom)),var(--color-bg);border-bottom:1px solid var(--color-border)}[data-theme=dark] .features{--features-bg-top: rgba(8, 8, 12, .98);--features-bg-bottom: rgba(3, 3, 5, .98);--features-grid-line: rgba(255, 255, 255, .028);--features-orbit: rgba(197, 141, 222, .16);--features-orbit-soft: rgba(197, 141, 222, .08);--features-title: #ffffff;--features-body: rgba(255, 255, 255, .72);--features-card-bg-top: rgba(13, 13, 18, .96);--features-card-bg-bottom: rgba(7, 7, 11, .92);--features-card-border: rgba(197, 141, 222, .16);--features-card-shadow: 0 22px 60px rgba(0, 0, 0, .28);--features-card-line: rgba(197, 141, 222, .74);--features-card-line-fade: rgba(197, 141, 222, .06);--features-card-title: #ffffff;--features-card-body: rgba(255, 255, 255, .68)}.features:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--features-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--features-grid-line) 1px,transparent 1px);background-size:32px 32px,32px 32px;mask-image:radial-gradient(circle at 18% 42%,black 0%,black 26%,transparent 64%);opacity:.24;pointer-events:none}.features:after{content:"";position:absolute;right:clamp(18px,6vw,96px);top:18%;width:min(28vw,360px);aspect-ratio:1;border:1px solid var(--features-orbit);border-right-color:transparent;border-bottom-color:var(--features-orbit-soft);border-radius:50%;mask-image:radial-gradient(circle at center,transparent 62%,black 63%);opacity:.28;pointer-events:none}.features .container{position:relative;z-index:1}.features-layout{display:grid;grid-template-columns:minmax(360px,.94fr) minmax(0,1.06fr);gap:clamp(24px,3.6vw,56px);align-items:start}.features-copy{position:sticky;top:calc(var(--header-height) + var(--space-xl));margin-bottom:0;width:100%;max-width:none;isolation:isolate}.features-copy-art{position:absolute;inset:-14% -16% auto -10%;height:clamp(260px,38vw,420px);border-radius:28px;background:none;opacity:0;filter:none;mask-image:radial-gradient(circle at 36% 34%,rgba(0,0,0,.98),rgba(0,0,0,.42) 58%,transparent 88%)}[data-theme=dark] .features-copy-art{background:linear-gradient(180deg,#07070a3d,#07070a9e),url(/media/kodeev-tech-surface-purple.webp) center / cover no-repeat;opacity:.78}.features-copy-shell{position:relative;z-index:1;width:min(100%,620px);padding-top:clamp(72px,8vw,116px)}.features-title{margin-bottom:var(--space-md);font-family:var(--font-display);max-width:9ch;font-size:clamp(2.5rem,4.8vw,4.9rem);font-weight:var(--fw-black);line-height:.95;letter-spacing:0;text-transform:uppercase;color:var(--features-title);hyphens:none;overflow-wrap:normal;word-break:keep-all}.features-intro{max-width:46ch;font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--features-body)}.features-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-lg);width:100%;max-width:900px;justify-self:end;align-content:start}.feature-card{position:relative;display:grid;gap:var(--space-md);min-height:250px;padding:30px;overflow:hidden;border:1px solid var(--features-card-border);border-radius:20px;background:linear-gradient(180deg,var(--features-card-bg-top),var(--features-card-bg-bottom)),var(--color-bg);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);box-shadow:inset 0 1px #ffffff38,var(--features-card-shadow)}.feature-card:before{content:"";position:absolute;right:18px;bottom:18px;width:96px;height:96px;border-right:1px solid rgba(197,141,222,.14);border-bottom:1px solid rgba(197,141,222,.14);border-bottom-right-radius:22px;pointer-events:none}.feature-card:after{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--features-card-line),var(--features-card-line-fade));opacity:.38;pointer-events:none}.feature-card-1,.feature-card-4{grid-column:span 5}.feature-card-2,.feature-card-3{grid-column:span 7}.feature-card-2,.feature-card-4{transform:translateY(28px)}.feature-card:hover{transform:translateY(-6px);border-color:#c58dde4d;box-shadow:inset 0 1px #ffffff38,0 24px 72px #983dc429}@media(min-width:1600px){.features-layout{grid-template-columns:minmax(420px,.96fr) minmax(0,1.04fr);gap:clamp(28px,3vw,52px)}.features-copy-shell{width:min(100%,660px)}.features-grid{max-width:940px}}[data-theme=dark] .feature-card:hover{box-shadow:inset 0 1px #ffffff0a,0 22px 60px #00000047}.feature-card-topline{width:62px;height:3px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-tertiary),rgba(152,61,196,.08))}.feature-card-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid rgba(197,141,222,.22);border-radius:16px;color:var(--color-tertiary);background:#983dc41f;box-shadow:inset 0 1px #ffffff0a}.feature-card-content{display:grid;gap:var(--space-sm)}.feature-card-title{font-family:var(--font-display);font-size:clamp(1.34rem,2vw,1.92rem);font-weight:var(--fw-black);line-height:1.04;letter-spacing:0;color:var(--features-card-title);hyphens:none;overflow-wrap:normal;word-break:keep-all}.feature-card p{font-size:var(--fs-body-md);line-height:1.66;color:var(--features-card-body)}@media(max-width:1023px){.features-layout{grid-template-columns:1fr}.features-copy{position:static;max-width:none;text-align:center}.features-copy-shell{width:100%;padding-top:clamp(52px,8vw,78px)}.features-title{max-width:none;margin-inline:auto}.features-intro{margin-inline:auto}.features-grid{max-width:none;justify-self:stretch}.feature-card-1,.feature-card-2,.feature-card-3,.feature-card-4{grid-column:span 6;transform:none}}@media(max-width:767px){.features-title{max-width:none}.features-copy-art{inset:-10% -12% auto -6%;height:220px}.features-copy-shell{padding-top:48px}.features-grid{grid-template-columns:1fr}.feature-card-1,.feature-card-2,.feature-card-3,.feature-card-4{grid-column:auto}.feature-card{min-height:auto;padding:24px}}.projects{position:relative;padding-block:var(--space-section-y);overflow:hidden;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.projects:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(152,61,196,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(152,61,196,.04) 1px,transparent 1px);background-size:34px 34px,34px 34px;mask-image:radial-gradient(circle at 84% 22%,black 0%,black 22%,transparent 60%);opacity:.16;pointer-events:none}.projects:after{content:"";position:absolute;top:12%;right:7%;width:min(30vw,380px);aspect-ratio:1;border:1px solid rgba(152,61,196,.12);border-right-color:transparent;border-bottom-color:#983dc40d;border-radius:50%;mask-image:radial-gradient(circle at center,transparent 62%,black 63%);opacity:.2;pointer-events:none}.projects-header{max-width:820px;margin-bottom:clamp(28px,4vw,44px)}.projects-title{margin-bottom:var(--space-sm);font-family:var(--font-display);font-size:var(--fs-display-section);font-weight:var(--fw-black);line-height:var(--lh-display-section);letter-spacing:0;text-transform:uppercase;color:var(--color-text);hyphens:none;overflow-wrap:normal;word-break:keep-all}[data-theme=dark] .projects{background:linear-gradient(180deg,#08080cfa,#040407fa),var(--color-bg)}[data-theme=dark] .projects-title,[data-theme=dark] .projects-live-header h3{color:#fff}[data-theme=dark] .projects-toolbar-note,[data-theme=dark] .project-group-summary,[data-theme=dark] .project-summary{color:#ffffffad}.projects-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-md) var(--space-lg);margin-bottom:clamp(28px,4vw,42px);padding:clamp(18px,2.4vw,24px);border:1px solid rgba(152,61,196,.12);border-radius:28px;background:linear-gradient(180deg,#ffffffeb,#faf8fcf2),var(--color-surface);box-shadow:0 20px 44px #983dc40f}[data-theme=dark] .projects-toolbar{border-color:#c58dde1f;background:linear-gradient(180deg,#0d0d12f0,#07070beb),#0a0a10eb;box-shadow:0 24px 48px #00000038}.projects-search{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 18px;border:1px solid rgba(152,61,196,.12);border-radius:999px;color:var(--color-tertiary);background:#ffffffb8}[data-theme=dark] .projects-search{border-color:#c58dde1f;background:#0c0c12d1}.projects-search input{width:100%;font:inherit;color:var(--color-text);background:transparent;border:0;outline:0}.projects-search input::placeholder{color:var(--color-text-muted)}.projects-search-clear{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:999px;color:var(--color-text);background:#983dc41f;cursor:pointer}.projects-filter-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.projects-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid rgba(152,61,196,.12);border-radius:999px;font-family:var(--font-accent);font-size:.82rem;font-weight:var(--fw-bold);letter-spacing:0;color:var(--color-text);background:#ffffffb8;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}[data-theme=dark] .projects-pill{border-color:#c58dde1f;color:#fff;background:#0c0c12d1}.projects-pill:hover{transform:translateY(-1px);border-color:#983dc447}.projects-pill.is-active{color:#fff;border-color:#983dc44d;background:linear-gradient(135deg,#8d39cc,#b26bd7)}.projects-toolbar-note{grid-column:1 / -1;margin:0;font-size:var(--fs-body-sm);color:var(--color-text-dim)}.projects-grid{display:grid;gap:var(--space-lg)}.projects-groups{display:grid;gap:clamp(20px,3vw,28px)}.project-group{position:relative;padding:clamp(20px,2.8vw,30px);overflow:hidden;border:1px solid rgba(152,61,196,.12);border-radius:30px;background:linear-gradient(180deg,#ffffffeb,#f7f5faf5),var(--color-surface)}.project-group:before{content:"";position:absolute;left:30px;right:30px;top:18px;height:1px;background:linear-gradient(90deg,#983dc461,#983dc40a);opacity:.7}.project-group:after{content:"";position:absolute;top:16%;right:4%;width:min(24vw,260px);aspect-ratio:1;border:1px solid rgba(152,61,196,.08);border-right-color:transparent;border-radius:50%;opacity:.3;pointer-events:none}[data-theme=dark] .project-group{border-color:#c58dde1f;background:linear-gradient(180deg,#0d0d12f0,#07070beb),#0a0a10eb}.project-group-header{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:var(--space-lg);align-items:end;margin-bottom:clamp(18px,2vw,24px)}.project-group-heading{display:grid;gap:10px}.project-group-kicker{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:0 12px;border:1px solid rgba(152,61,196,.14);border-radius:999px;font-size:.72rem;font-weight:var(--fw-bold);text-transform:uppercase;color:var(--color-tertiary);background:#983dc414}.project-group-header h3{font-family:var(--font-display);font-size:clamp(1.65rem,2.4vw,2.5rem);font-weight:var(--fw-black);line-height:.98;text-transform:uppercase;color:var(--color-text)}.project-group-summary{max-width:52ch;margin:0;justify-self:end;font-size:var(--fs-body-md);line-height:1.65;color:var(--color-text-dim)}.projects-grid-live{grid-template-columns:repeat(3,minmax(0,1fr))}.projects-empty{padding:var(--space-xl);border:1px dashed rgba(152,61,196,.28);border-radius:var(--radius-lg);font-size:var(--fs-body-md);line-height:var(--lh-body-md);color:var(--color-text-dim);background:var(--color-surface-container)}[data-theme=dark] .projects-empty{border-color:#c58dde47;background:var(--color-inverse-surface-container)}.project-card{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--color-border);border-radius:22px;background:linear-gradient(180deg,#fffffff5,#f9f7fbfa),var(--color-surface-container);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:#983dc440}.project-card:before{content:"";position:absolute;inset:0 auto 0 0;width:1px;background:linear-gradient(180deg,rgba(152,61,196,.5),transparent 70%);opacity:0;transition:opacity var(--transition-base)}.project-card:after{content:"";position:absolute;right:18px;bottom:18px;width:72px;height:72px;border-right:1px solid rgba(152,61,196,.12);border-bottom:1px solid rgba(152,61,196,.12);border-bottom-right-radius:18px;opacity:.28;pointer-events:none}.project-card:hover:before{opacity:1}.project-card:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:4px}[data-theme=dark] .project-card{background:linear-gradient(180deg,#0f0f14fa,#08080cf0),var(--color-inverse-surface-container);border-color:var(--color-inverse-outline)}[data-theme=dark] .project-card:hover{border-color:#c58dde5c;box-shadow:var(--shadow-glow)}.project-image-wrapper{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--color-surface-container-high)}.project-image-wrapper img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .7s cubic-bezier(.25,.46,.45,.94),opacity var(--transition-slow)}.project-card:hover .project-image-wrapper img{transform:scale(1.04);opacity:1}.project-image-placeholder,.modal-empty-image{display:grid;width:100%;height:100%;place-items:center;padding:var(--space-lg);font-family:var(--font-accent);font-size:clamp(1rem,2vw,1.4rem);font-weight:var(--fw-extra);letter-spacing:0;text-transform:uppercase;color:var(--color-text-muted);background:radial-gradient(circle at top,rgba(152,61,196,.12),transparent 55%),var(--color-surface-container-high)}.project-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;background:linear-gradient(to bottom,transparent 30%,rgba(0,0,0,.55));transition:opacity var(--transition-base)}.project-card:hover .project-overlay{opacity:1}.project-view-label{padding:10px 20px;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xs);font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:.12em;text-transform:uppercase;color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color var(--transition-fast),background var(--transition-fast)}.project-card:hover .project-view-label{border-color:var(--color-accent-soft);background:#983dc433}.project-info{display:flex;flex-direction:column;gap:var(--space-sm);flex-grow:1;padding:var(--space-md) var(--space-md) var(--space-md);border-top:1px solid var(--color-border)}[data-theme=dark] .project-info{border-top-color:var(--color-inverse-outline)}.project-info-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.project-text-stack{display:grid;gap:6px}.project-family-name{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:0 10px;border-radius:999px;font-size:.72rem;font-weight:var(--fw-bold);text-transform:uppercase;color:var(--color-tertiary);background:#983dc414}.project-title{font-family:var(--font-display);font-size:clamp(1.05rem,1.2vw,1.2rem);font-weight:var(--fw-bold);line-height:1.2;color:var(--color-text);transition:color var(--transition-fast)}.project-card:hover .project-title{color:var(--color-accent-soft)}.project-category{font-family:var(--font-accent);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);letter-spacing:0;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.project-summary{font-size:var(--fs-body-md);line-height:var(--lh-body-md);color:var(--color-text-dim)}.modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch}.modal-container{position:relative;display:flex;flex-direction:column;width:100%;max-width:1100px;max-height:min(90vh,820px);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:0 32px 64px -12px #0000008c}[data-theme=dark] .modal-container{background:var(--color-inverse-surface-container);border-color:var(--color-inverse-outline-strong)}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);z-index:10;display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;background:#0006;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.modal-close:hover{background:var(--color-tertiary);border-color:var(--color-tertiary)}.modal-content{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-2xl);padding:var(--space-2xl);align-items:start;max-height:min(90vh,820px);overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}.modal-content::-webkit-scrollbar{display:none}.modal-gallery{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.modal-main-image{aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;max-height:min(56vh,560px);padding:12px;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--color-border);background:radial-gradient(circle at top,rgba(152,61,196,.08),transparent 55%),var(--color-surface-container)}.modal-main-image-button{position:relative;width:100%;color:inherit;border:0;cursor:zoom-in}[data-theme=dark] .modal-main-image{border-color:var(--color-inverse-outline);background:radial-gradient(circle at top,rgba(197,141,222,.1),transparent 55%),var(--color-inverse-surface)}.modal-main-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block}.modal-main-image-hint{position:absolute;right:14px;bottom:14px;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-full);font-family:var(--font-accent);font-size:.72rem;font-weight:var(--fw-bold);letter-spacing:0;text-transform:uppercase;color:#fff;background:#08080cb8;opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast);transform:translateY(4px);pointer-events:none}.modal-main-image:hover .modal-main-image-hint,.modal-main-image:focus-visible .modal-main-image-hint{opacity:1;transform:translateY(0)}.modal-thumbnails{display:flex;gap:var(--space-sm);overflow-x:auto;scrollbar-width:none;padding-bottom:2px;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch}.modal-thumbnails::-webkit-scrollbar{display:none}.modal-thumbnails.is-dragging{cursor:grabbing}.modal-thumb{flex-shrink:0;width:96px;height:60px;padding:4px;overflow:hidden;border:2px solid transparent;border-radius:var(--radius-xs);background:var(--color-surface-container);cursor:pointer;transition:border-color var(--transition-fast)}[data-theme=dark] .modal-thumb{background:var(--color-inverse-surface)}.modal-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;opacity:.6;display:block;transition:opacity var(--transition-fast)}.modal-thumb:hover img,.modal-thumb.active img{opacity:1}.modal-thumb.active{border-color:var(--color-tertiary)}.image-viewer-backdrop{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,24px);background:#020205eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.image-viewer-shell{display:flex;flex-direction:column;gap:var(--space-md);width:min(1280px,100%);max-height:100%}.image-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.image-viewer-counter{font-family:var(--font-accent);font-size:var(--fs-body-sm);font-weight:var(--fw-bold);letter-spacing:0;text-transform:uppercase;color:#ffffffc7}.image-viewer-controls{display:flex;gap:var(--space-xs)}.image-viewer-action,.image-viewer-nav{display:inline-flex;align-items:center;justify-content:center;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);background:#0a0a10b3;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.image-viewer-action{width:42px;height:42px}.image-viewer-nav{width:48px;height:48px;flex-shrink:0}.image-viewer-action:hover,.image-viewer-nav:hover{transform:translateY(-1px);border-color:#983dc473;background:#983dc438}.image-viewer-frame{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-md);min-height:0;flex:1}.image-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(78vh,860px);overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:radial-gradient(circle at top,rgba(152,61,196,.1),transparent 55%),#06060aeb;cursor:zoom-in;touch-action:none}.image-viewer-stage.is-zoomed{cursor:grab}.image-viewer-stage.is-panning{cursor:grabbing}.image-viewer-image{max-width:100%;max-height:min(76vh,820px);object-fit:contain;object-position:center;user-select:none;will-change:transform;transition:transform var(--transition-fast)}.image-viewer-stage.is-panning .image-viewer-image{transition:none}.modal-details{display:flex;flex-direction:column;gap:var(--space-xl);min-width:0;overflow:auto;scrollbar-width:none}.modal-details::-webkit-scrollbar{display:none}.modal-detail-header h2{margin-bottom:var(--space-xs);font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:var(--fw-black);line-height:1.1;color:var(--color-text)}.modal-project-category{font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:.12em;text-transform:uppercase;color:var(--color-tertiary)}.modal-project-description{font-size:var(--fs-body-md);line-height:var(--lh-body-lg);color:var(--color-text-dim)}.modal-meta{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-container)}[data-theme=dark] .modal-meta{background:var(--color-inverse-surface);border-color:var(--color-inverse-outline)}.modal-meta-item{display:flex;align-items:center;gap:var(--space-sm)}.modal-meta-item>:first-child{flex-shrink:0;color:var(--color-tertiary)}.modal-meta-item div{display:flex;flex-direction:column;gap:2px}.modal-meta-label{font-family:var(--font-accent);font-size:var(--fs-body-sm);letter-spacing:0;text-transform:uppercase;color:var(--color-text-muted)}.modal-meta-value{font-size:var(--fs-body-md);font-weight:var(--fw-bold);color:var(--color-text)}.modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.modal-enter-active,.modal-leave-active{transition:opacity var(--transition-slow)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active .modal-container,.modal-leave-active .modal-container{transition:transform var(--transition-slow)}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:scale(.95)}@media(max-width:1100px){.projects-header,.project-group-header,.project-group-summary,.projects-title,.project-group-header h3{text-align:center}.project-group-summary,.project-summary{text-align:justify}.projects-toolbar{grid-template-columns:1fr}.projects-filter-pills{justify-content:center}.projects-search{width:100%;max-width:760px;margin-inline:auto}.project-group-header{grid-template-columns:1fr}.project-group-summary{justify-self:start;text-align:center}.projects-grid-live{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-content{grid-template-columns:1fr;gap:var(--space-xl);max-height:90vh}.modal-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.projects{padding-block:clamp(68px,12vw,88px)}.projects-header{margin-bottom:28px}.projects-toolbar{padding:16px;border-radius:24px}.projects-search{min-height:54px;padding-inline:16px}.projects-filter-pills{gap:8px}.projects-pill{min-height:40px;padding-inline:14px;font-size:.78rem}.project-group{padding:18px;border-radius:24px}.project-group:before{left:18px;right:18px}.project-group-header h3{font-size:clamp(1.35rem,8vw,2rem)}.projects-grid-live{grid-template-columns:1fr}.project-info-header{flex-direction:column;align-items:flex-start}.project-category{white-space:normal}.modal-backdrop{align-items:flex-start;padding:var(--space-sm)}.modal-container{max-height:none;margin-block:auto;border-radius:var(--radius-lg)}.modal-close{top:var(--space-sm);right:var(--space-sm)}.modal-content{gap:var(--space-lg);padding:var(--space-lg);max-height:none;overflow:visible}.modal-main-image{aspect-ratio:4 / 3;max-height:min(42dvh,360px);padding:var(--space-sm)}.modal-main-image-hint{right:10px;bottom:10px;font-size:.68rem}.modal-details{overflow:visible}.modal-meta{grid-template-columns:1fr}.modal-actions{display:grid;grid-template-columns:1fr}.modal-actions .btn{width:100%}.image-viewer-shell{gap:var(--space-sm)}.image-viewer-toolbar{align-items:flex-start;flex-direction:column}.image-viewer-frame{grid-template-columns:1fr}.image-viewer-nav{position:absolute;bottom:16px;z-index:1}.image-viewer-nav-prev{left:16px}.image-viewer-nav-next{right:16px}.image-viewer-stage{min-height:min(72dvh,640px)}.image-viewer-image{max-height:min(68dvh,600px)}}.contact{position:relative;padding-block:clamp(72px,10vw,120px);overflow:hidden;background:linear-gradient(180deg,#f9f8fbfa,#f2eff7fa),var(--color-bg-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-text)}[data-theme=dark] .contact{background:linear-gradient(180deg,#07070afa,#030305fa),var(--color-bg-secondary)}.contact-tech{position:absolute;inset:0;pointer-events:none}.contact-tech-grid,.contact-tech-ring,.contact-tech-rail,.contact-tech-node{position:absolute}.contact-tech-grid{inset:8% -10% -10% 44%;background:linear-gradient(rgba(152,61,196,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(152,61,196,.05) 1px,transparent 1px);background-size:32px 32px,32px 32px;mask-image:radial-gradient(circle at 36% 52%,black 0%,black 28%,rgba(0,0,0,.74) 58%,transparent 100%);opacity:.18}.contact-tech-ring{top:18%;left:clamp(20px,5vw,84px);width:min(24vw,320px);aspect-ratio:1;border:1px solid rgba(152,61,196,.18);border-right-color:transparent;border-bottom-color:#983dc414;border-radius:50%;mask-image:radial-gradient(circle at center,transparent 62%,black 63%);opacity:.24}.contact-tech-rail{height:2px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(152,61,196,.18) 16%,rgba(152,61,196,.72) 50%,rgba(152,61,196,.18) 84%,transparent 100%);opacity:.58}.contact-tech-rail-1{top:26%;left:52%;width:min(32vw,440px)}.contact-tech-rail-2{bottom:22%;left:46%;width:min(36vw,520px)}.contact-tech-node{width:10px;aspect-ratio:1;border-radius:50%;background:#c58dde;box-shadow:0 0 0 4px #c58dde14,0 0 16px #c58dde57;opacity:.72}.contact-tech-node-1{top:calc(26% - 4px);left:calc(52% + min(28vw,390px))}.contact-tech-node-2{bottom:calc(22% - 4px);left:calc(46% + min(10vw,120px))}[data-theme=dark] .contact-tech-grid{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px,32px 32px;opacity:.28}[data-theme=dark] .contact-tech-ring{border-color:#c58dde2e;border-right-color:transparent;border-bottom-color:#c58dde14}.contact-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:var(--space-2xl);align-items:center}.contact-copy{max-width:680px}.contact-eyebrow{display:inline-flex;margin-bottom:var(--space-md);padding:6px 12px;border:1px solid rgba(197,141,222,.28);border-radius:var(--radius-full);font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:var(--ls-label-caps);text-transform:uppercase;color:var(--color-tertiary);background:var(--color-tertiary-container)}[data-theme=dark] .contact-eyebrow{background:#983dc424;border-color:#983dc447}.contact-title{margin-bottom:var(--space-md);font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.8rem);font-weight:var(--fw-black);line-height:.94;letter-spacing:var(--ls-section);text-transform:uppercase;color:var(--color-text)}.contact-subtitle{max-width:56ch;margin-bottom:var(--space-xl);font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--color-text-dim)}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.contact-inline-number{font-family:var(--font-accent);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:var(--fw-black);line-height:1.1;color:var(--color-text);transition:color var(--transition-fast)}.contact-inline-number:hover{color:var(--color-tertiary)}.contact-panel{position:relative;display:grid;gap:var(--space-lg);padding:clamp(20px,3vw,32px);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffffeb,#f7f4faf5),var(--color-bg);box-shadow:inset 0 1px #fff6,var(--shadow-sm)}.contact-panel:before{content:"";position:absolute;inset:16px;border:1px solid rgba(152,61,196,.1);border-radius:calc(var(--radius-lg) - 10px);pointer-events:none}.contact-panel:after{content:"";position:absolute;left:22px;right:22px;top:22px;height:2px;border-radius:999px;background:linear-gradient(90deg,#983dc499,#983dc40f);opacity:.32;pointer-events:none}[data-theme=dark] .contact-panel{border-color:#c58dde29;background:linear-gradient(180deg,#0d0d12f5,#07070beb),#0a0a10eb;box-shadow:inset 0 1px #ffffff0a,0 28px 70px #00000038}[data-theme=dark] .contact-panel:before{border-color:#c58dde1a}.contact-copy,.contact-panel-body,.contact-illustration{position:relative;z-index:1}.contact-illustration{width:min(100%,520px);max-width:520px;margin-inline:auto;height:auto;filter:drop-shadow(0 26px 48px rgba(0,0,0,.18))}.contact-panel-body{display:grid;gap:var(--space-sm)}.contact-panel-label{font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:var(--ls-label-caps);text-transform:uppercase;color:var(--color-tertiary)}.contact-number{font-family:var(--font-accent);font-size:clamp(1.35rem,3vw,1.9rem);font-weight:var(--fw-black);line-height:1.15;color:var(--color-text);transition:color var(--transition-fast)}.contact-number:hover{color:var(--color-tertiary)}.contact-panel-copy,.contact-panel-meta{color:var(--color-text-dim)}.contact-panel-meta{font-size:var(--fs-body-sm)}@media(max-width:1180px){.contact-illustration{width:min(58vw,420px)}}@media(max-width:1023px){.contact-tech-grid{inset:42% -16% -12% 0;mask-image:radial-gradient(circle at 54% 34%,black 0%,black 24%,rgba(0,0,0,.72) 50%,transparent 100%)}.contact-tech-ring{top:10%;left:auto;right:8%;width:min(34vw,320px)}.contact-tech-rail-1{top:54%;left:12%;width:62%}.contact-tech-rail-2{bottom:16%;left:24%;width:48%}.contact-tech-node-1{top:calc(54% - 4px);left:68%}.contact-tech-node-2{bottom:calc(16% - 4px);left:36%}.contact-shell{grid-template-columns:1fr;justify-items:center}.contact-copy{max-width:none;text-align:center}.contact-subtitle{margin-inline:auto}.contact-actions{justify-content:center}.contact-panel{max-width:720px;width:100%}.contact-illustration{width:min(72vw,390px)}}@media(max-width:767px){.contact-tech-grid{inset:46% -24% -18% -6%;background-size:22px 22px,22px 22px}.contact-tech-ring{top:auto;bottom:18%;right:-4%;width:min(52vw,240px)}.contact-tech-rail-1,.contact-tech-rail-2,.contact-tech-node{display:none}.contact-title{font-size:clamp(2.3rem,11vw,3.6rem)}.contact-subtitle{font-size:1rem}.contact-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.contact-actions .btn{width:100%}.contact-illustration{width:min(82vw,310px)}.contact-inline-number{display:inline-flex;min-height:48px;align-items:center}.contact-number{font-size:clamp(1.4rem,8vw,2rem)}}.footer{position:relative;overflow:hidden;padding-top:var(--space-3xl);padding-bottom:var(--space-2xl);color:var(--color-inverse-text-secondary);background:var(--color-inverse-surface);border-top:1px solid var(--color-inverse-outline)}.footer-tech{position:absolute;inset:0;pointer-events:none}.footer-tech-grid,.footer-tech-ring,.footer-tech-rail,.footer-tech-node{position:absolute}.footer-tech-grid{inset:0;background:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:34px 34px,34px 34px;mask-image:radial-gradient(circle at 82% 28%,black 0%,black 18%,rgba(0,0,0,.72) 40%,transparent 72%);opacity:.2}.footer-tech-ring{top:12%;right:5%;width:min(26vw,340px);aspect-ratio:1;border:1px solid rgba(197,141,222,.18);border-right-color:transparent;border-bottom-color:#c58dde14;border-radius:50%;mask-image:radial-gradient(circle at center,transparent 62%,black 63%);opacity:.24}.footer-tech-rail{height:2px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(197,141,222,.16) 16%,rgba(197,141,222,.68) 50%,rgba(197,141,222,.16) 84%,transparent 100%);opacity:.5}.footer-tech-rail-1{top:12%;left:6%;width:min(22vw,260px)}.footer-tech-rail-2{bottom:20%;left:56%;width:min(18vw,220px)}.footer-tech-node{width:10px;aspect-ratio:1;border-radius:50%;background:#c58dde;box-shadow:0 0 0 4px #c58dde14,0 0 18px #c58dde57;opacity:.74}.footer-tech-node-1{top:calc(12% - 4px);left:calc(6% + min(16vw,190px))}.footer-tech-node-2{bottom:calc(20% - 4px);left:calc(56% + min(6vw,64px))}.footer .container{position:relative;z-index:1}.footer-main{position:relative;display:grid;grid-template-columns:1fr 1.6fr;gap:var(--space-3xl);margin-bottom:var(--space-3xl);padding-bottom:var(--space-3xl);border-bottom:1px solid var(--color-inverse-outline)}.footer-brand{position:relative;max-width:380px;padding-top:20px}.footer-brand:before{content:"";position:absolute;left:0;top:0;width:74px;height:2px;border-radius:999px;background:linear-gradient(90deg,#c58ddec7,#c58dde0f);opacity:.48}.footer-logo{display:block;margin-bottom:var(--space-md);font-family:var(--font-display);font-size:1.5rem;font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase;color:var(--color-inverse-text-primary);text-decoration:none}.footer-tagline{max-width:300px;font-size:var(--fs-body-md);line-height:var(--lh-body-lg);color:var(--color-inverse-text-secondary)}.footer-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}.footer-links-col{position:relative;display:flex;flex-direction:column;gap:var(--space-xs);padding-top:18px}.footer-links-col:before{content:"";position:absolute;left:0;top:0;width:62px;height:2px;border-radius:999px;background:linear-gradient(90deg,#c58ddea3,#c58dde0a);opacity:.36}.footer-col-heading{margin-bottom:var(--space-sm);font-family:var(--font-accent);font-size:var(--fs-label-caps);font-weight:var(--fw-extra);letter-spacing:var(--ls-label-caps);text-transform:uppercase;color:var(--color-inverse-text-muted)}.footer-link{display:inline-flex;align-items:center;gap:var(--space-xxs);width:fit-content;font-size:var(--fs-body-sm);color:var(--color-inverse-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-accent-soft)}.footer-helper{max-width:28ch;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--color-inverse-text-muted)}.footer-cta-col{justify-content:flex-start}.footer-cta{margin-top:var(--space-sm);width:fit-content}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.footer-copyright{font-size:var(--fs-body-sm);color:var(--color-inverse-text-muted)}@media(max-width:1023px){.footer-tech-grid{mask-image:radial-gradient(circle at 50% 18%,black 0%,black 18%,rgba(0,0,0,.7) 42%,transparent 78%)}.footer-tech-ring{top:auto;bottom:20%;width:min(32vw,260px)}.footer-main{grid-template-columns:1fr;gap:var(--space-2xl)}.footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-cta-col{grid-column:1 / -1}}@media(max-width:767px){.footer-tech-grid{background-size:24px 24px,24px 24px}.footer-tech-rail-2,.footer-tech-node-2{display:none}.footer-links-grid{grid-template-columns:1fr;gap:var(--space-lg)}.footer-cta{width:100%}.footer-bottom{flex-direction:column;text-align:center}}
