@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--blue-700:#195d82;--blue-600:#1f729e;--blue-500:#3f98d0;--blue-100:#d7e8f2;--blue-50:#eef6fa;--navy-950:#071a26;--navy-900:#0b2d42;--navy-800:#123f5b;--sky-400:#3f98d0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:clamp(1.125rem, 1rem + .4vw, 1.3125rem);--text-xl:clamp(1.375rem, 1.1rem + .9vw, 1.75rem);--text-2xl:clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);--text-3xl:clamp(2.125rem, 1.4rem + 2.8vw, 3.5rem);--text-4xl:clamp(2.5rem, 1.4rem + 4.4vw, 4.75rem);--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--container:1200px;--gutter:clamp(1.25rem, 4vw, 2.5rem);--header-h:72px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.16s;--dur-med:.32s;--dur-slow:.64s}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-soft:#f4f7f9;--surface:#fff;--ink:var(--navy-900);--text:#294b5e;--muted:#4c6878;--line:#dce5ea;--line-strong:#bccbd4;--primary:var(--blue-600);--primary-hover:var(--blue-700);--on-primary:#fff;--link:var(--blue-600);--hero-bg:#f0f5f8;--hero-ink:var(--navy-900);--hero-muted:#3f5f70;--hero-accent:var(--blue-600);--hero-line:#cfdee6;--hero-line-strong:#a9c1cf;--band-bg:var(--navy-900);--band-ink:#fff;--band-muted:#c4dce8;--focus:var(--blue-700);--accent:var(--sky-400);--logo-bg:#fff;--shadow-raise:0 10px 30px -12px #0b2d4247}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07151d;--bg-soft:#0c202c;--surface:#102a3a;--ink:#edf7fc;--text:#c7dae4;--muted:#a5c0ce;--line:#24495d;--line-strong:#35647b;--primary:var(--blue-500);--primary-hover:#70b8e1;--on-primary:var(--navy-950);--link:#8fc8e8;--hero-bg:#0c202c;--hero-ink:#fff;--hero-muted:#bdd3de;--hero-accent:#8fc8e8;--hero-line:#fff3;--hero-line-strong:#ffffff47;--band-bg:var(--navy-950);--band-ink:#fff;--band-muted:#b8d1dd;--focus:#70b8e1;--accent:var(--sky-400);--logo-bg:#edf7fc;--shadow-raise:0 10px 30px -12px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--text);background-color:var(--bg);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}body{flex-direction:column;min-height:100vh;display:flex}img,svg{max-width:100%;display:block}a{color:inherit;transition:color var(--dur-fast) var(--ease-out);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.site-wrapper{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1 0 auto}.route-page-transition{animation:route-page-enter .36s var(--ease-out) backwards}@keyframes route-page-enter{0%{opacity:0;transform:translateY(.625rem)}to{opacity:1;transform:translate(0,0)}}.section{padding-block:clamp(3.5rem,6vw,6.5rem)}.bg-soft{background-color:var(--bg-soft)}.bg-band{background-color:var(--band-bg);color:var(--band-ink)}.text-center{text-align:center}.text-contrast{color:#fff!important}.text-contrast-muted{color:var(--band-muted)!important}h1,h2,h3,h4,h5,h6{color:var(--ink);letter-spacing:-.02em;font-weight:700;line-height:1.25}.body-paragraph{margin-bottom:var(--space-4);color:var(--text);font-size:var(--text-md);line-height:1.7}.section-header{margin-bottom:var(--space-7)}.section-header.text-center{max-width:760px;margin-inline:auto}.section-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:var(--space-2);font-weight:700;display:inline-block}.section-title{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.section-desc{font-size:var(--text-md);color:var(--muted);line-height:1.6}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-sm);transition:all var(--dur-fast) var(--ease-out);white-space:nowrap;min-height:44px;padding:.75rem 1.625rem;font-weight:600;display:inline-flex}.btn-sm{font-size:var(--text-xs);min-height:40px;padding:.5rem 1.125rem}.btn-block{width:100%}.btn-primary{background-color:var(--primary);color:var(--on-primary);border:1px solid var(--primary)}.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background-color:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-outline:hover{background-color:var(--blue-50)}[data-theme=dark] .btn-outline:hover{background-color:var(--bg-soft)}.btn-primary-contrast{color:var(--blue-700);background-color:#fff;border:1px solid #fff}.btn-primary-contrast:hover{background-color:var(--blue-50)}.btn-outline-contrast{color:#fff;background:0 0;border:1px solid #ffffff73}.btn-outline-contrast:hover{background:#ffffff1f;border-color:#fff}.site-header{z-index:100;height:var(--header-h);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:all var(--dur-fast) var(--ease-out);background-color:#ffffffeb;position:sticky;top:0}[data-theme=dark] .site-header{background-color:#07151deb}.site-header.is-scrolled{border-bottom-color:#0000;box-shadow:0 4px 20px -4px #0b2d421f}[data-theme=dark] .site-header.is-scrolled{box-shadow:0 4px 24px -4px #0009}.header-container{justify-content:space-between;align-items:center;gap:var(--space-4);height:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto;display:flex}.brand-logo-link{flex-shrink:0;align-items:center;padding:4px 0;display:flex}.brand-logo-img{object-fit:contain;width:auto;height:38px}.desktop-nav{background-color:#0000;align-items:center;gap:.25rem;display:flex}.nav-link{color:var(--text);border-radius:var(--radius-sm);white-space:nowrap;transition:all .16s var(--ease-out);padding:.45rem .8rem;font-size:.9rem;font-weight:500;position:relative}.nav-link:hover{color:var(--primary);background-color:var(--blue-50)}[data-theme=dark] .nav-link:hover{background-color:var(--bg-soft)}.nav-link.is-active{color:var(--primary);background-color:var(--blue-50);font-weight:600}[data-theme=dark] .nav-link.is-active{background-color:var(--bg-soft)}.header-actions{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.lang-toggle-btn{color:var(--muted);border:1px solid var(--line-strong);background-color:var(--surface);height:38px;min-height:38px;transition:all .16s var(--ease-out);border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.lang-toggle-btn:hover{border-color:var(--primary)}.lang-tag{transition:color .14s}.lang-tag.is-current{color:var(--primary)}.lang-sep{opacity:.4;font-size:.7rem}.theme-toggle-btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background-color:var(--surface);width:38px;height:38px;min-height:38px;color:var(--ink);transition:all .16s var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.theme-toggle-btn:hover{border-color:var(--primary);color:var(--primary);background-color:var(--blue-50)}[data-theme=dark] .theme-toggle-btn:hover{background-color:var(--bg-soft)}.header-cta-btn{height:38px;min-height:38px;padding-inline:1.15rem;font-size:.85rem;display:inline-flex}.mobile-menu-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background-color:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;display:none}.mobile-menu-btn .bar{background-color:var(--ink);width:22px;height:2px;transition:transform .22s var(--ease-out), opacity .22s var(--ease-out);border-radius:2px;display:block}.mobile-menu-btn.is-open .bar-1{transform:translateY(7px)rotate(45deg)}.mobile-menu-btn.is-open .bar-2{opacity:0}.mobile-menu-btn.is-open .bar-3{transform:translateY(-7px)rotate(-45deg)}.mobile-drawer-backdrop{-webkit-backdrop-filter:blur(4px);z-index:98;background:#071a2673;animation:.2s ease-out forwards fadeIn;position:fixed;inset:0}.mobile-drawer{top:var(--header-h);max-height:calc(100vh - var(--header-h));background-color:var(--surface);border-bottom:1px solid var(--line);z-index:99;animation:slideDown .22s var(--ease-out) forwards;position:fixed;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px -4px #0b2d4233}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-drawer-content{padding:var(--space-4) var(--gutter) var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.mobile-nav-links{gap:var(--space-1);flex-direction:column;display:flex}.mobile-nav-link{font-size:var(--text-md);color:var(--ink);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;min-height:48px;padding:.75rem 1rem;font-weight:600;transition:all .14s;display:flex}.mobile-nav-link:hover,.mobile-nav-link.is-active{color:var(--primary);background-color:var(--blue-50)}[data-theme=dark] .mobile-nav-link:hover,[data-theme=dark] .mobile-nav-link.is-active{background-color:var(--bg-soft)}.nav-arrow{color:var(--muted);font-size:1.25rem}.mobile-drawer-footer{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.mobile-phone-link{align-items:center;gap:var(--space-2);color:var(--primary);font-weight:600;font-size:var(--text-sm);min-height:44px;display:flex}.hero-section{--hero-content-y:0px;--hero-content-opacity:1;--hero-stage-y:0px;--hero-stage-scale:1;min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));isolation:isolate;background-color:var(--hero-bg);color:var(--hero-ink);border-top:4px solid var(--accent);padding-block:clamp(2.5rem,5vw,4.5rem) clamp(5.25rem,8vw,6.5rem);display:grid;position:relative;overflow:clip}.hero-container{z-index:2;grid-template-columns:minmax(0,1.05fr) minmax(24rem,.95fr);align-items:center;gap:clamp(2.5rem,5vw,5rem);display:grid;position:relative}.hero-wave{z-index:1;pointer-events:none;height:clamp(6.5rem,10vw,9rem);position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.hero-wave-layer{will-change:transform;width:200%;max-width:none;height:100%;position:absolute;bottom:0;left:0}.hero-wave-layer-back{animation:24s linear infinite hero-wave-drift}.hero-wave-layer-back path{fill:color-mix(in srgb, var(--primary) 14%, var(--hero-bg))}.hero-wave-layer-middle{animation:19s linear infinite hero-wave-drift-reverse}.hero-wave-layer-middle path{fill:color-mix(in srgb, var(--primary) 7%, var(--bg))}.hero-wave-layer-front{animation:15s linear infinite hero-wave-drift}.hero-wave-layer-front path{fill:var(--bg)}@keyframes hero-wave-drift{to{transform:translate(-50%)}}@keyframes hero-wave-drift-reverse{0%{transform:translate(-50%)}}.hero-content{max-width:44rem;opacity:var(--hero-content-opacity);transform:translate3d(0, var(--hero-content-y), 0);will-change:transform, opacity;animation:home-hero-content-enter .72s var(--ease-out) 80ms backwards}.hero-title{max-width:15ch;color:var(--hero-ink);font-size:var(--text-4xl);letter-spacing:-.04em;text-wrap:balance;margin-bottom:var(--space-4);line-height:1.08}.hero-lead{max-width:54ch;font-size:var(--text-md);color:var(--hero-muted);margin-bottom:var(--space-5);line-height:1.65}.hero-experience{max-width:25rem;padding-top:var(--space-5);border-top:1px solid var(--hero-line-strong);align-items:center;gap:clamp(1rem,2.5vw,1.75rem);display:flex}.hero-experience-number{color:var(--hero-accent);letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(3.25rem,6vw,4.75rem);font-weight:800;line-height:.85}.hero-experience-label{max-width:10ch;color:var(--hero-ink);font-size:var(--text-md);font-weight:700;line-height:1.2}.hero-showcase-stage{min-width:0;transform:translate3d(0, var(--hero-stage-y), 0) scale(var(--hero-stage-scale));transform-origin:50%;will-change:transform;animation:home-hero-stage-enter .82s var(--ease-out) .18s backwards}.hero-showcase{--hero-pointer-x:50%;--hero-pointer-y:50%;--hero-tilt-x:0deg;--hero-tilt-y:0deg;color:var(--text);background-color:var(--surface);border:1px solid var(--hero-line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-raise);transform:perspective(70rem) rotateX(var(--hero-tilt-x)) rotateY(var(--hero-tilt-y));transform-style:preserve-3d;transition:transform .14s var(--ease-out), border-color var(--dur-fast) var(--ease-out);will-change:transform;animation:8s ease-in-out 1.3s infinite alternate home-hero-showcase-float;display:block;overflow:hidden}.hero-showcase:hover{color:var(--text);border-color:var(--primary);transform:perspective(70rem) rotateX(var(--hero-tilt-x)) rotateY(var(--hero-tilt-y)) translateY(-3px)}.hero-showcase-media{isolation:isolate;aspect-ratio:8/5;background-color:var(--bg-soft);position:relative;overflow:hidden}.hero-showcase-media:before,.hero-showcase-media:after{z-index:1;content:"";pointer-events:none;position:absolute}.hero-showcase-media:before{inset-inline:0;background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--primary) 24%, transparent), transparent);opacity:0;height:24%;animation:hero-showcase-scan 2.8s var(--ease-out) .7s 2;top:-24%}.hero-showcase-media:after{background:radial-gradient(circle 8rem at var(--hero-pointer-x) var(--hero-pointer-y), color-mix(in srgb, var(--primary) 16%, transparent), transparent 72%);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);inset:0}.hero-tech-status{top:var(--space-3);left:var(--space-3);z-index:3;align-items:center;gap:var(--space-2);min-height:32px;color:var(--ink);background-color:color-mix(in srgb, var(--surface) 90%, transparent);border:1px solid var(--hero-line-strong);border-radius:var(--radius-sm);letter-spacing:.025em;-webkit-backdrop-filter:blur(8px);padding:.35rem .55rem;font-size:.68rem;font-weight:700;display:flex;position:absolute}.hero-tech-status-dot{background-color:var(--primary);border-radius:50%;flex:none;width:.45rem;height:.45rem;animation:2.4s ease-in-out infinite hero-tech-status-pulse}.hero-tech-signal{height:.75rem;margin-left:var(--space-1);color:var(--primary);align-items:end;gap:2px;display:flex}.hero-tech-signal i{transform-origin:bottom;background-color:currentColor;width:2px;height:45%;animation:1.8s ease-in-out infinite alternate hero-tech-signal}.hero-tech-signal i:nth-child(2){height:75%;animation-delay:.18s}.hero-tech-signal i:nth-child(3){height:100%;animation-delay:.36s}.hero-tech-signal i:nth-child(4){height:60%;animation-delay:.54s}.hero-showcase:hover .hero-showcase-media:after{opacity:1}.hero-showcase-img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-med) var(--ease-out)}.hero-showcase:hover .hero-showcase-img{transform:scale(1.018)}@keyframes hero-showcase-scan{0%{opacity:0;transform:translateY(0)}18%{opacity:.7}82%{opacity:.35}to{opacity:0;transform:translateY(520%)}}@keyframes home-hero-content-enter{0%{opacity:0;transform:translateY(1.5rem)}}@keyframes home-hero-stage-enter{0%{opacity:0;transform:translate(1.5rem)scale(.98)}}@keyframes home-hero-showcase-float{0%{translate:0}to{translate:0 -.4rem}}@keyframes hero-tech-status-pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes hero-tech-signal{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}.hero-showcase-caption{gap:var(--space-1) var(--space-4);padding:var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.hero-showcase-kicker{color:var(--primary);font-size:var(--text-xs);grid-column:1/-1;font-weight:700}.hero-showcase-title,.hero-showcase-client,.hero-showcase-link{display:block}.hero-showcase-title{color:var(--ink);font-size:var(--text-md);line-height:1.35}.hero-showcase-client{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.hero-showcase-link{color:var(--primary);font-size:var(--text-xs);white-space:nowrap;grid-area:2/2/4;font-weight:700}.hero-scroll-cue{left:50%;bottom:var(--space-4);justify-content:center;align-items:center;gap:var(--space-1);min-height:44px;color:var(--hero-muted);font-size:var(--text-xs);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);flex-direction:column;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%)}.hero-section>.hero-scroll-cue{z-index:5}.hero-scroll-cue:hover{color:var(--primary)}.hero-scroll-arrow{width:.6rem;height:.6rem;animation:hero-scroll-nudge 1.2s var(--ease-out) .7s 3;border-bottom:1.5px solid;border-right:1.5px solid;transform:rotate(45deg)}@keyframes hero-scroll-nudge{0%,to{opacity:.45;transform:translateY(0)rotate(45deg)}50%{opacity:1;transform:translateY(.35rem)rotate(45deg)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.home-scroll-reveal{animation-name:home-scroll-reveal;animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry 4% cover 30%}.home-scroll-reveal-late{animation-range:entry 12% cover 36%}}}@keyframes home-scroll-reveal{0%{opacity:.2;transform:translateY(2rem)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}.clients-section{padding-block:var(--space-7);border-bottom:1px solid var(--line);background-color:var(--surface)}.clients-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;text-align:center;color:var(--muted);margin-bottom:var(--space-5);font-weight:600}.client-logos-grid{justify-content:center;align-items:center;gap:var(--space-4) clamp(1.5rem, 3vw, 2rem);flex-wrap:wrap;display:flex}.client-logo-item{padding:var(--space-2);filter:grayscale();opacity:.72;transition:all var(--dur-fast);justify-content:center;align-items:center;display:flex}.client-logo-item:hover{filter:grayscale(0%);opacity:1}.client-logo-item img{aspect-ratio:2;object-fit:contain;width:clamp(7.5rem,9.5vw,8.5rem);height:auto}.services-preview-section{background-color:var(--bg-soft);border-bottom:1px solid var(--line)}.services-cards-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.service-card{background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);min-width:0;transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;padding:clamp(1.25rem,2.4vw,1.75rem);display:flex}.service-card:is(:hover,:focus-within){background-color:var(--surface);border-color:color-mix(in srgb, var(--primary) 65%, var(--line-strong));transform:translateY(-3px)}.service-card-topline{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.service-icon-box{border-radius:var(--radius-sm);background-color:var(--blue-50);width:48px;height:48px;color:var(--primary);transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:flex}.service-card:is(:hover,:focus-within) .service-icon-box{background-color:color-mix(in srgb, var(--primary) 14%, var(--surface));transform:translateY(-2px)}.service-card-index{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.1em;font-weight:700}[data-theme=dark] .service-icon-box{background-color:var(--bg-soft)}.service-card-title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.service-card-desc{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4);flex-grow:1;line-height:1.6}.service-capabilities-list{gap:var(--space-2);margin-bottom:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.service-capabilities-list li{align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs);color:var(--text);display:flex}.cap-icon{width:16px;height:16px;color:var(--primary);flex-shrink:0;margin-top:2px}.service-card-link{min-height:44px;font-size:var(--text-sm);color:var(--primary);align-items:center;font-weight:600;display:inline-flex}.service-card-link:hover{text-decoration:underline}.section-cta-wrap{margin-top:var(--space-7)}.portfolio-preview-grid{--portfolio-card-enter-x:1.25rem;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.portfolio-preview-grid.portfolio-page-previous{--portfolio-card-enter-x:-1.25rem}.portfolio-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);animation:portfolio-card-page-enter .44s var(--ease-out) 30ms backwards;flex-direction:column;display:flex;overflow:hidden}.portfolio-card:nth-child(2){animation-delay:90ms}.portfolio-card:nth-child(3){animation-delay:.15s}.portfolio-card:hover{border-color:var(--hero-line-strong);transform:translateY(-3px)}.portfolio-image-wrap{aspect-ratio:16/9;background-color:var(--bg-soft);width:100%;position:relative;overflow:hidden}.portfolio-img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-med)}.portfolio-card:hover .portfolio-img{transform:scale(1.03)}.portfolio-cat-badge{top:var(--space-3);left:var(--space-3);color:#fff;border-radius:var(--radius-sm);background:#0b2d42d9;padding:3px 8px;font-size:.75rem;font-weight:600;position:absolute}.portfolio-card-body{padding:var(--space-5);flex-direction:column;flex-grow:1;display:flex}.portfolio-client-tag{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-1)}.portfolio-title{font-size:var(--text-md);margin-bottom:var(--space-2)}.portfolio-desc{font-size:var(--text-xs);color:var(--text);margin-bottom:var(--space-4);flex-grow:1;line-height:1.6}.portfolio-link-action{width:fit-content;font-size:var(--text-xs);color:var(--primary);transition:transform var(--dur-fast) var(--ease-out);font-weight:700}.portfolio-card:hover .portfolio-link-action{transform:translate(.2rem)}@keyframes portfolio-card-page-enter{0%{opacity:0;transform:translate3d(var(--portfolio-card-enter-x), 0, 0) scale(.99)}to{opacity:1;transform:translate(0,0)scale(1)}}.methodology-grid{grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.badge-contrast{border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-3);background:#ffffff26;padding:4px 10px;font-weight:700;display:inline-block}.methodology-title{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.methodology-lead{font-size:var(--text-md);margin-bottom:var(--space-5);line-height:1.6}.methodology-steps{gap:var(--space-4);flex-direction:column;display:flex}.step-card{gap:var(--space-4);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);background:#ffffff0f;border:1px solid #ffffff1f;display:flex}.step-num{font-size:var(--text-xl);color:var(--accent);font-weight:800}.step-title{color:#fff;font-size:var(--text-md);margin-bottom:var(--space-1)}.step-desc{color:var(--band-muted);font-size:var(--text-xs);line-height:1.5}.articles-cards-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.article-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5);flex-direction:column;display:flex}.article-meta{gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-2);display:flex}.article-cat{color:var(--primary);font-weight:700}.article-card-title{font-size:var(--text-md);margin-bottom:var(--space-2)}.article-card-desc{font-size:var(--text-xs);color:var(--text);margin-bottom:var(--space-4);flex-grow:1;line-height:1.6}.article-read-link{font-size:var(--text-xs);color:var(--primary);font-weight:700}.contact-section-split{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.contact-lead-text{font-size:var(--text-md);color:var(--text);margin-bottom:var(--space-6)}.contact-details-box{gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:column;display:flex}.contact-detail-row{align-items:flex-start;gap:var(--space-3);display:flex}.detail-icon{border-radius:var(--radius-sm);background-color:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail-title{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;font-weight:700}.detail-link{font-size:var(--text-md);color:var(--ink);font-weight:600}.detail-link:hover{color:var(--primary)}.detail-sub{font-size:var(--text-xs);color:var(--muted)}.contact-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-raise);padding:clamp(1.5rem,4vw,2.5rem)}.contact-card-header{margin-bottom:var(--space-5)}.contact-card-title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.contact-card-subtitle{font-size:var(--text-sm);color:var(--muted)}.contact-form{gap:var(--space-4);flex-direction:column;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.form-label{font-size:var(--text-xs);color:var(--ink);font-weight:600}.form-label .req{color:#dc3545}.form-input,.form-select,.form-textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background-color:var(--bg);width:100%;color:var(--ink);font-size:var(--text-sm);transition:border-color var(--dur-fast);padding:.65rem .85rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary)}.form-input.has-error,.form-textarea.has-error{border-color:#dc3545}.form-error-msg{color:#dc3545;font-size:.775rem}.contact-success-state{text-align:center;padding:var(--space-6) var(--space-4)}.success-icon{color:#fff;width:56px;height:56px;margin:0 auto var(--space-4);background-color:#198754;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;display:flex}.site-footer{background-color:var(--band-bg);color:var(--band-ink);margin-top:auto}.footer-top{border-bottom:1px solid #ffffff14;padding-block:clamp(3.5rem,6vw,5.5rem)}.footer-grid{grid-template-columns:minmax(0,1.3fr) minmax(12rem,.8fr) minmax(0,1.3fr);gap:clamp(1.5rem,4vw,3.5rem);display:grid}.footer-grid>*{min-width:0}.footer-logo-link{margin-bottom:var(--space-4);display:inline-block}.footer-company-desc{font-size:var(--text-sm);color:var(--band-muted);margin-bottom:var(--space-5);line-height:1.6}.footer-contact-lines{gap:var(--space-2);flex-direction:column;display:flex}.footer-contact-item{align-items:center;gap:var(--space-2);width:fit-content;min-height:44px;font-size:var(--text-xs);color:var(--band-muted);display:flex}.footer-contact-item svg{flex:none}.footer-contact-item span{overflow-wrap:anywhere}.footer-contact-item:hover{color:#fff}.footer-heading{color:#fff;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-4);font-weight:700}.footer-links-list{gap:var(--space-2);flex-direction:column;display:flex}.footer-link{font-size:var(--text-xs);color:var(--band-muted)}.footer-link:hover{color:#fff}.office-address-block{gap:var(--space-3);flex-direction:column;display:flex}.office-item{font-size:var(--text-xs);color:var(--band-muted)}.office-city-title{align-items:center;gap:var(--space-1);color:#fff;margin-bottom:2px;display:flex}.office-map-link{text-underline-offset:.2em;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.office-map-link:hover{color:var(--accent)}.office-text{line-height:1.5}.footer-bottom{padding-block:var(--space-5)}.footer-bottom-inner{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.copyright-text{font-size:var(--text-xs);color:var(--band-muted)}.footer-bottom-links{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--band-muted);display:flex}.footer-mini-link:hover{color:#fff}.page-hero-banner{isolation:isolate;background-color:var(--hero-bg);color:var(--hero-ink);border-top:4px solid var(--accent);padding-block:clamp(3rem,6vw,4.5rem) clamp(7rem,10vw,9rem);position:relative;overflow:clip}.page-hero-banner>.container{z-index:2;position:relative}.breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--hero-muted);margin-bottom:var(--space-3);display:flex}.breadcrumb a:hover{color:var(--hero-ink);text-decoration:underline}.page-hero-title{color:var(--hero-ink);font-size:var(--text-3xl);margin-bottom:var(--space-3)}.page-hero-lead{font-size:var(--text-lg);color:var(--hero-muted);max-width:780px}.portfolio-page-hero{min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));padding-block:clamp(2.5rem,5vw,4.5rem) clamp(5.25rem,8vw,6.5rem);display:grid;position:relative;overflow:clip}.portfolio-hero-scroll-cue{z-index:5}.portfolio-hero-container{grid-template-columns:minmax(0,.9fr) minmax(24rem,1.1fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid}.portfolio-hero-copy{z-index:2;animation:portfolio-hero-copy-enter .72s var(--ease-out) 80ms backwards;position:relative}.portfolio-hero-stage{--portfolio-hero-tilt-x:0deg;--portfolio-hero-tilt-y:0deg;--portfolio-hero-light-x:50%;--portfolio-hero-light-y:50%;min-width:0;min-height:clamp(20rem,32vw,27rem);transform:perspective(80rem) rotateX(var(--portfolio-hero-tilt-x)) rotateY(var(--portfolio-hero-tilt-y));transform-style:preserve-3d;transition:transform .16s var(--ease-out);will-change:transform;position:relative}.portfolio-hero-stage:before{z-index:-1;background:radial-gradient(circle 9rem at var(--portfolio-hero-light-x) var(--portfolio-hero-light-y), color-mix(in srgb, var(--primary) 18%, transparent), transparent 72%);content:"";opacity:0;transition:opacity var(--dur-fast) var(--ease-out);pointer-events:none;position:absolute;inset:8% 2% 10%}.portfolio-hero-stage:hover:before{opacity:1}.portfolio-hero-project{--project-depth:0px;--project-rotation:0deg;--project-hover-x:0px;--project-hover-y:0px;color:var(--text);background-color:var(--surface);border:1px solid var(--hero-line-strong);border-radius:var(--radius-md);transform:translate3d(var(--project-hover-x), var(--project-hover-y), var(--project-depth)) rotate(var(--project-rotation));transition:transform var(--dur-med) var(--ease-out), border-color var(--dur-fast) var(--ease-out);animation:portfolio-hero-project-enter .76s var(--ease-out) backwards;display:block;position:absolute;overflow:hidden}.portfolio-hero-project:hover{color:var(--text);border-color:var(--primary)}.portfolio-hero-project img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;transition:transform var(--dur-med) var(--ease-out)}.portfolio-hero-project:hover img{transform:scale(1.025)}.portfolio-hero-project-1{--project-depth:3.5rem;z-index:3;width:72%;box-shadow:var(--shadow-raise);animation:portfolio-hero-project-enter .76s var(--ease-out) .26s backwards, portfolio-hero-project-float 7.2s ease-in-out 1.3s infinite alternate;bottom:3%;right:8%}.portfolio-hero-project-2{--project-depth:1.5rem;--project-rotation:4deg;--project-hover-x:.45rem;--project-hover-y:-.45rem;z-index:2;width:52%;animation:portfolio-hero-project-enter .76s var(--ease-out) .4s backwards, portfolio-hero-project-float 8.4s ease-in-out 1.7s infinite alternate-reverse;top:0;right:0}.portfolio-hero-project-3{--project-depth:0px;--project-rotation:-4deg;--project-hover-x:-.45rem;--project-hover-y:.35rem;z-index:1;width:50%;animation:portfolio-hero-project-enter .76s var(--ease-out) .54s backwards, portfolio-hero-project-float 7.8s ease-in-out 2s infinite alternate;bottom:2%;left:0}.portfolio-hero-stage:hover .portfolio-hero-project-2{--project-hover-x:.9rem;--project-hover-y:-.9rem}.portfolio-hero-stage:hover .portfolio-hero-project-3{--project-hover-x:-.9rem;--project-hover-y:.75rem}.portfolio-hero-project-meta{padding:var(--space-3);background-color:var(--surface);gap:.15rem;display:grid}.portfolio-hero-project-meta strong{color:var(--ink);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.portfolio-hero-project-meta span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.35;overflow:hidden}@keyframes portfolio-hero-copy-enter{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translate(0,0)}}@keyframes portfolio-hero-project-enter{0%{opacity:0;transform:translateY(2rem)rotate(0)scale(.96)}to{opacity:1}}@keyframes portfolio-hero-project-float{0%{translate:0}to{translate:0 -.45rem}}.about-split-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.values-list-block{margin-top:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.value-item{align-items:flex-start;gap:var(--space-3);display:flex}.value-icon{border-radius:var(--radius-sm);background-color:var(--blue-50);width:28px;height:28px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}[data-theme=dark] .value-icon{background-color:var(--bg-soft)}.value-title{font-size:var(--text-md);margin-bottom:2px}.value-desc{font-size:var(--text-sm);color:var(--muted)}.about-stats-panel{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.stat-highlight-box{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5);text-align:center}.highlight-number{font-size:var(--text-3xl);color:var(--primary);margin-bottom:var(--space-1);font-weight:800}.highlight-label{font-size:var(--text-xs);color:var(--text);font-weight:600}.vision-mission-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.vm-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6)}.vm-tag{font-size:var(--text-xs);color:var(--primary);background-color:var(--blue-50);border-radius:var(--radius-sm);margin-bottom:var(--space-3);padding:2px 8px;font-weight:700;display:inline-block}[data-theme=dark] .vm-tag{background-color:var(--bg-soft)}.vm-title{font-size:var(--text-xl);margin-bottom:var(--space-3)}.vm-text{font-size:var(--text-sm);color:var(--muted);line-height:1.6}.vm-list{gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--muted);flex-direction:column;display:flex}.vm-list li:before{content:"✓ ";color:var(--primary);font-weight:700}.about-cta-band{padding-block:var(--space-8)}.cta-band-title{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.cta-band-desc{font-size:var(--text-md);max-width:650px;margin:0 auto var(--space-6)}.cta-band-actions{justify-content:center;gap:var(--space-3);display:flex}.services-overview-header{max-width:48rem}.services-overview-list{gap:clamp(1.5rem,3vw,2.5rem);display:grid}.service-overview-item{scroll-margin-top:calc(var(--header-h) + var(--space-4));display:block}.service-overview-card{background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);min-width:0;transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.service-overview-card:hover,.service-overview-card:focus-within{border-color:color-mix(in srgb, var(--primary) 60%, var(--line-strong))}.service-overview-card-header{align-items:center;gap:var(--space-4);background-color:var(--bg-soft);border-bottom:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) minmax(15rem,.7fr);padding:clamp(1.5rem,3vw,2rem) clamp(1.5rem,4vw,2.5rem);display:grid}.service-overview-icon{border-radius:var(--radius-sm);background-color:var(--blue-50);border:1px solid color-mix(in srgb, var(--primary) 20%, var(--line));width:52px;height:52px;color:var(--primary);grid-area:1/1;justify-content:center;align-items:center;display:flex}.service-overview-heading{grid-area:1/2/3;min-width:0}.service-illustration{min-width:0;height:9.5rem;color:var(--primary);background-color:color-mix(in srgb, var(--surface) 76%, var(--bg-soft));border:1px solid var(--line);border-radius:var(--radius-sm);transition:background-color var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);grid-area:1/3/3;overflow:hidden}.service-illustration svg{width:100%;height:100%}.service-visual-line,.service-visual-code,.service-visual-trace,.service-visual-scan{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;vector-effect:non-scaling-stroke}.service-visual-line{opacity:.55}.service-visual-fill,.service-visual-muted,.service-visual-accent,.service-visual-node,.service-visual-cursor{stroke-width:1.5px;vector-effect:non-scaling-stroke}.service-visual-fill{fill:var(--surface);stroke:var(--line-strong)}.service-visual-muted{fill:color-mix(in srgb, var(--primary) 6%, var(--surface));stroke:var(--line)}.service-visual-accent{fill:color-mix(in srgb, var(--primary) 14%, var(--surface));stroke:currentColor}.service-visual-ring{fill:none;stroke-linecap:round;stroke-linejoin:round}.service-visual-node{fill:var(--surface);stroke:currentColor}.service-visual-code{stroke-width:2px}.service-visual-trace{stroke-dasharray:18 8;stroke-dashoffset:24px;opacity:.9;transition:stroke-dashoffset .62s var(--ease-out)}.service-visual-scan{stroke-dasharray:6 5;opacity:.75}.service-visual-cursor{fill:color-mix(in srgb, var(--primary) 18%, var(--surface));stroke:currentColor;stroke-linejoin:round}.service-visual-motion-a,.service-visual-motion-b,.service-visual-motion-c{transform-box:fill-box;transform-origin:50%;transition:transform .52s var(--ease-out), opacity .32s var(--ease-out)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration{background-color:color-mix(in srgb, var(--primary) 5%, var(--surface));border-color:color-mix(in srgb, var(--primary) 45%, var(--line))}.service-overview-card:is(:hover,:focus-within,:active) .service-visual-trace{stroke-dashoffset:0}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--code .service-visual-motion-a{transform:translate(-5px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--code .service-visual-motion-b{transform:translate(5px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--code .service-visual-motion-c{transform:translateY(-3px)}.service-illustration--shield .service-visual-motion-a{transform:translateY(-12px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--shield .service-visual-motion-a{transform:translateY(36px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--infrastructure .service-visual-motion-a{transform:translate(7px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--layout .service-visual-motion-a{transform:translate(5px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--layout .service-visual-motion-b{transform:translate(-5px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--smartphone .service-visual-motion-a{transform:translateY(-4px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--smartphone .service-visual-motion-b{transform:translate(-3px,3px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--smartphone .service-visual-motion-c{transform:translate(3px,3px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--palette .service-visual-motion-a{transform:translate(7px,-5px)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--refresh-cw .service-visual-motion-a{transform:rotate(7deg)}.service-overview-card:is(:hover,:focus-within,:active) .service-illustration--refresh-cw .service-visual-motion-b{transform:translateY(-4px)}[data-theme=dark] .service-overview-icon{background-color:var(--bg-soft)}.service-overview-title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.service-overview-title a{transition:color var(--dur-fast) var(--ease-out)}.service-overview-title a:hover,.service-overview-title a:focus-visible{color:var(--primary)}.service-overview-summary{max-width:72ch;font-size:var(--text-sm);color:var(--muted);line-height:1.7}.service-overview-index{color:var(--primary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.12em;grid-area:2/1;justify-self:center;font-weight:700}.service-overview-content{border-bottom:1px solid var(--line);flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.5rem,3vw,2rem) clamp(1.5rem,4vw,2.5rem);display:grid}.service-overview-group{min-width:0}.service-overview-group+.service-overview-group{border-left:1px solid var(--line);padding-left:clamp(1.5rem,4vw,3rem)}.service-overview-group-title{font-size:var(--text-sm);color:var(--primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.06em}.service-overview-checklist{gap:var(--space-3);flex-direction:column;display:flex}.service-overview-checklist li{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--text);line-height:1.55;display:flex}.check-bullet{color:var(--primary);flex-shrink:0;width:18px;height:18px;margin-top:2px}.service-overview-actions{gap:var(--space-3);padding:var(--space-5) clamp(1.5rem, 4vw, 2.5rem);flex-wrap:wrap;display:flex}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.service-overview-item{animation:1s linear both service-card-reveal;animation-timeline:view();animation-range:entry 3% cover 24%}}}@keyframes service-card-reveal{0%{opacity:.35;transform:translateY(1.25rem)}to{opacity:1;transform:translate(0,0)}}.detail-layout-grid{grid-template-columns:1.35fr .65fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.detail-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-5)}.detail-section-heading{font-size:var(--text-lg);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.capabilities-detailed-list{gap:var(--space-3);flex-direction:column;display:flex}.cap-item{align-items:flex-start;gap:var(--space-3);font-size:var(--text-md);display:flex}.phases-timeline{gap:var(--space-4);flex-direction:column;display:flex}.timeline-item{gap:var(--space-4);display:flex}.timeline-marker{background-color:var(--primary);color:#fff;width:36px;height:36px;font-weight:700;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline-title{font-size:var(--text-md);margin-bottom:2px}.timeline-desc{font-size:var(--text-sm);color:var(--muted)}.deliverables-checklist{gap:var(--space-2);flex-direction:column;display:flex}.deliverable-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.detail-sidebar{gap:var(--space-5);top:calc(var(--header-h) + 20px);flex-direction:column;display:flex;position:sticky}.sidebar-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5)}.sidebar-card-title{font-size:var(--text-md);margin-bottom:var(--space-3)}.sidebar-card-desc{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-4);line-height:1.5}.sidebar-links-list{gap:var(--space-2);flex-direction:column;display:flex}.sidebar-link{font-size:var(--text-xs);color:var(--text);padding:4px 0;display:block}.sidebar-link:hover{color:var(--primary)}.portfolio-filter-row{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;justify-content:center;display:flex}.filter-btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);font-size:var(--text-xs);color:var(--text);min-height:44px;padding:8px 18px;font-weight:600}.filter-btn.is-active,.filter-btn:hover{background-color:var(--primary);color:#fff;border-color:var(--primary)}.portfolio-full-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));display:grid}.portfolio-detailed-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.portfolio-img-container{aspect-ratio:16/9;background-color:var(--bg-soft);position:relative}.portfolio-thumb-img{object-fit:cover;width:100%;height:100%}.portfolio-tag-cat{top:var(--space-3);left:var(--space-3);color:#fff;border-radius:var(--radius-sm);background:#0b2d42d9;padding:3px 8px;font-size:.75rem;font-weight:600;position:absolute}.portfolio-detail-body{padding:var(--space-5);flex-direction:column;flex-grow:1;display:flex}.portfolio-client-meta{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-1)}.portfolio-item-title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.portfolio-item-desc{font-size:var(--text-xs);color:var(--text);margin-bottom:var(--space-4);flex-grow:1;line-height:1.6}.portfolio-highlights-wrap{background-color:var(--bg-soft);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.highlights-title{margin-bottom:4px;font-size:.75rem;font-weight:700}.highlights-list{color:var(--muted);font-size:.75rem;line-height:1.5}.case-image-frame{border-radius:var(--radius-md);margin-bottom:var(--space-5);border:1px solid var(--line);overflow:hidden}.case-full-img{object-fit:cover;width:100%;height:auto}.project-meta-list{gap:var(--space-3);flex-direction:column;display:flex}.meta-row dt{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.meta-row dd{font-size:var(--text-sm);color:var(--ink);font-weight:600}.news-editorial-header{padding-bottom:var(--space-6);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(18rem,.65fr);align-items:end;gap:clamp(2rem,6vw,5rem);display:grid}.news-editorial-header .section-title{margin-bottom:0}.news-editorial-intro{max-width:34rem;color:var(--muted);font-size:var(--text-sm);line-height:1.7}.news-featured-story{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);padding-block:clamp(2rem,5vw,4rem);display:grid}.news-featured-visual{background-color:var(--band-bg);border:1px solid color-mix(in srgb, var(--primary) 45%, var(--band-bg));border-radius:var(--radius-md);min-height:22rem;position:relative;overflow:hidden}.news-featured-visual svg{width:100%;height:100%;position:absolute;inset:0}.news-visual-path{fill:none;stroke:var(--primary);stroke-width:2px;stroke-dasharray:18 10;stroke-dashoffset:54px;vector-effect:non-scaling-stroke;transition:stroke-dashoffset .76s var(--ease-out)}.news-visual-path-secondary{stroke:var(--band-muted);opacity:.48}.news-visual-stack{color:var(--band-muted);transform-box:fill-box;transform-origin:50%;transition:transform .6s var(--ease-out)}.news-visual-stack rect{fill:color-mix(in srgb, var(--primary) 18%, var(--band-bg));stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.news-visual-stack path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5px;vector-effect:non-scaling-stroke}.news-visual-node{fill:var(--band-bg);stroke:var(--primary);stroke-width:2px;vector-effect:non-scaling-stroke}.news-featured-visual:is(:hover,:focus-visible) .news-visual-path{stroke-dashoffset:0}.news-featured-visual:is(:hover,:focus-visible) .news-visual-stack-left{transform:translate(-8px,-5px)}.news-featured-visual:is(:hover,:focus-visible) .news-visual-stack-center{transform:translateY(-7px)}.news-featured-visual:is(:hover,:focus-visible) .news-visual-stack-right{transform:translate(8px,5px)}.news-featured-visual-label,.news-featured-visual-index{top:var(--space-5);z-index:1;color:var(--band-muted);font-size:var(--text-xs);letter-spacing:.06em;font-weight:700;position:absolute}.news-featured-visual-label{left:var(--space-5)}.news-featured-visual-index{right:var(--space-5);font-variant-numeric:tabular-nums}.news-featured-content{flex-direction:column;align-items:flex-start;display:flex}.news-article-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.news-featured-title{max-width:18ch;margin-bottom:var(--space-4);font-size:var(--text-2xl)}.news-featured-title a,.news-feed-title a{transition:color var(--dur-fast) var(--ease-out)}.news-featured-title a:hover,.news-featured-title a:focus-visible,.news-feed-title a:hover,.news-feed-title a:focus-visible{color:var(--primary)}.news-featured-summary{max-width:58ch;margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--text);line-height:1.75}.news-read-link{min-height:44px;padding-block:var(--space-2);color:var(--primary);font-size:var(--text-sm);border-bottom:1px solid;align-items:center;font-weight:700;display:inline-flex}.news-read-link:hover,.news-read-link:focus-visible{color:var(--primary-hover)}.news-feed-heading{justify-content:space-between;align-items:baseline;gap:var(--space-5);padding-block:clamp(2rem, 5vw, 3.5rem) var(--space-4);border-bottom:1px solid var(--line-strong);display:flex}.news-feed-heading h2{font-size:var(--text-xl)}.news-feed-heading span{color:var(--muted);font-size:var(--text-xs)}.news-article-feed{border-bottom:1px solid var(--line-strong)}.news-feed-item{border-top:1px solid var(--line);grid-template-columns:minmax(7rem,.25fr) minmax(0,1.5fr) minmax(7rem,.25fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(1.75rem,4vw,2.75rem);display:grid}.news-feed-item:first-child{border-top:0}.news-feed-date,.news-feed-action{align-items:flex-start;gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);flex-direction:column;display:flex}.news-feed-index{color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:.1em;font-weight:700}.news-feed-content{min-width:0;transition:transform var(--dur-med) var(--ease-out)}.news-feed-item:focus-within .news-feed-content{transform:translate(.35rem)}.news-feed-item:has(a:hover) .news-feed-content{transform:translate(.35rem)}.news-feed-category{margin-bottom:var(--space-2);color:var(--primary);font-size:var(--text-xs);font-weight:700;display:block}.news-feed-title{max-width:38ch;margin-bottom:var(--space-3);font-size:var(--text-lg)}.news-feed-content p{max-width:72ch;color:var(--text);font-size:var(--text-sm);line-height:1.7}.news-feed-action{text-align:right;align-items:flex-end}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.news-featured-story,.news-feed-item{animation:1s linear both news-story-reveal;animation-timeline:view();animation-range:entry 4% cover 28%}}}@keyframes news-story-reveal{0%{opacity:.4;transform:translateY(1.25rem)}to{opacity:1;transform:translate(0,0)}}.news-detail-hero{padding-block:clamp(2.75rem,5vw,4.5rem) clamp(7rem,10vw,9rem)}.news-detail-hero .breadcrumb{margin-bottom:clamp(2rem,4vw,3.5rem)}.news-detail-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr);align-items:end;gap:clamp(2.5rem,7vw,6.5rem);display:grid}.news-detail-kicker-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--hero-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.news-detail-series{color:var(--hero-accent);letter-spacing:.05em;text-transform:uppercase;font-weight:800}.news-detail-category{color:var(--hero-ink);font-weight:700}.news-detail-hero .page-hero-title{text-wrap:balance;max-width:17ch;margin-bottom:0;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.08}.news-detail-summary-panel{border-left:1px solid var(--hero-line-strong);padding-left:clamp(1.5rem,3vw,2.5rem)}.news-detail-summary{color:var(--hero-muted);font-size:clamp(1.05rem,1rem + .3vw,1.25rem);line-height:1.7}.news-detail-meta{gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--hero-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.news-detail-meta dt{color:var(--hero-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px;font-size:.72rem;font-weight:700}.news-detail-meta dd{color:var(--hero-ink);font-size:var(--text-sm);font-weight:700}.article-body-section{padding-block:clamp(3rem,7vw,6.5rem)}.news-detail-layout{grid-template-columns:minmax(0,46rem) minmax(17rem,20rem);justify-content:space-between;align-items:start;gap:clamp(3rem,7vw,6.5rem);display:grid}.article-main-body{min-width:0}.article-opening{margin-bottom:var(--space-7);color:var(--ink);font-size:clamp(1.18rem,1.08rem + .45vw,1.45rem);font-weight:600;line-height:1.75}.article-opening:first-letter{float:left;color:var(--primary);margin:.12em .12em 0 0;font-size:3.35em;font-weight:800;line-height:.76}.article-main-body .article-paragraph{margin-bottom:var(--space-5)}.article-main-body .body-paragraph{margin-bottom:0;font-size:clamp(1rem,.97rem + .12vw,1.075rem);line-height:1.9}.article-source{gap:var(--space-5);margin-top:var(--space-7);padding-block:var(--space-5);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.article-source-copy{min-width:0}.article-source-label{margin-bottom:var(--space-1);color:var(--primary);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.article-source-copy p{color:var(--text);font-size:var(--text-sm);line-height:1.6}.article-source a{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;color:var(--primary);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding:.65rem .9rem;font-weight:800;display:inline-flex}.article-source a:hover,.article-source a:focus-visible{color:var(--primary-hover);border-color:var(--primary);background-color:var(--bg-soft)}.news-detail-rail{top:calc(var(--header-h) + var(--space-5));min-width:0;position:sticky}.related-news-header{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-strong);display:flex}.related-news-header h2{font-size:var(--text-lg)}.related-news-header>span{color:var(--primary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:800}.related-news-list>li{border-bottom:1px solid var(--line)}.related-news-link{gap:var(--space-3);min-height:44px;padding-block:var(--space-4);grid-template-columns:1.6rem minmax(0,1fr);display:grid}.related-news-index{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px;font-size:.72rem;font-weight:700}.related-news-content{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.related-news-category{color:var(--primary);font-size:.72rem;font-weight:800}.related-news-title{color:var(--ink);font-size:var(--text-sm);transition:color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:700;line-height:1.45}.related-news-content time{color:var(--muted);font-size:.72rem}.related-news-link:hover .related-news-title,.related-news-link:focus-visible .related-news-title{color:var(--primary);transform:translate(.2rem)}.all-news-link{min-height:44px;margin-top:var(--space-2);color:var(--primary);font-size:var(--text-xs);text-underline-offset:.24em;align-items:center;font-weight:800;text-decoration:underline;display:inline-flex}.all-news-link:hover,.all-news-link:focus-visible{color:var(--primary-hover)}.article-consultation{margin-top:var(--space-7);padding:var(--space-5);color:var(--band-ink);background-color:var(--band-bg);border-radius:var(--radius-md)}.article-consultation-label{margin-bottom:var(--space-3);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.article-consultation h3{margin-bottom:var(--space-2);color:var(--band-ink);font-size:var(--text-md);line-height:1.45}.article-consultation p{margin-bottom:var(--space-4);color:var(--band-muted);font-size:var(--text-xs);line-height:1.65}.article-consultation .btn{width:100%;padding-inline:var(--space-3);white-space:normal;text-align:center}.contact-offices-block{margin-top:var(--space-6)}.offices-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:var(--space-3)}.offices-cards-list{gap:var(--space-3);flex-direction:column;display:flex}.office-card-item{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.office-card-header{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink);margin-bottom:2px;display:flex}.office-card-address{font-size:var(--text-xs);color:var(--muted);line-height:1.5}@media (width<=1080px){.desktop-nav{display:none}.mobile-menu-btn{display:flex}.header-cta-btn{display:none}}@media (width<=1024px){.services-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.methodology-grid,.about-split-grid,.detail-layout-grid,.service-overview-content{grid-template-columns:1fr}.service-overview-group+.service-overview-group{padding-top:var(--space-5);border-top:1px solid var(--line);border-left:0;padding-left:0}.footer-grid{grid-template-columns:1fr 1fr}.offices-col{grid-column:1/-1}.office-address-block{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=900px){.hero-container,.portfolio-hero-container{grid-template-columns:1fr;gap:clamp(1.5rem,4vh,2rem)}.portfolio-hero-copy{max-width:48rem}.portfolio-hero-stage{width:min(100%,46rem);min-height:clamp(20rem,64vw,25rem)}.hero-showcase{max-width:46rem}.hero-content,.hero-showcase-stage{opacity:1;transform:none}.service-overview-card-header{grid-template-columns:auto minmax(0,1fr) minmax(13rem,.65fr)}.service-illustration{grid-area:1/3/3;height:8.5rem}}@media (width<=768px){.news-editorial-header,.news-featured-story{grid-template-columns:1fr}.news-editorial-header{align-items:start;gap:var(--space-4)}.news-featured-visual{min-height:clamp(17rem,56vw,21rem)}.news-featured-content{max-width:42rem}.news-feed-item{grid-template-columns:minmax(6.5rem,.25fr) minmax(0,1fr)}.news-feed-action{text-align:left;flex-direction:row;grid-column:2;justify-content:space-between;align-items:center}.contact-section-split,.form-row,.vision-mission-grid,.about-stats-panel,.footer-grid{grid-template-columns:1fr}.offices-col{grid-column:auto}.office-address-block{gap:var(--space-3);grid-template-columns:1fr}.footer-bottom-inner{text-align:center;flex-direction:column}}@media (width<=680px){.services-cards-grid{grid-template-columns:minmax(0,1fr)}.service-overview-card-header{gap:var(--space-3);grid-template-columns:auto minmax(0,1fr)}.service-overview-heading{grid-area:2/1/auto/-1}.service-illustration{grid-area:3/1/auto/-1;height:7.75rem}.service-overview-index{grid-area:1/2;place-self:center end}}@media (width<=480px){.hero-section{padding-block:var(--space-5) 4.75rem}.hero-title{font-size:clamp(2.25rem,10vw,2.5rem)}.hero-lead{margin-bottom:var(--space-4)}.hero-experience{padding-top:var(--space-3)}.hero-experience-number{font-size:3.5rem}.hero-showcase-media{aspect-ratio:auto;height:clamp(8.5rem,40vw,10rem)}.hero-showcase-caption{display:none}.hero-tech-status{top:var(--space-2);left:var(--space-2)}.hero-wave{height:6rem}.portfolio-page-hero{padding-block:var(--space-5) 4.75rem}.portfolio-hero-stage{min-height:clamp(15rem,68vw,18rem)}.portfolio-hero-project-1{width:78%;right:0}.portfolio-hero-project-2{width:58%;right:2%}.portfolio-hero-project-3{width:54%}.portfolio-hero-project-meta{padding:var(--space-2)}.service-overview-card-header{padding:var(--space-5)}.service-overview-content{padding-inline:var(--space-5)}.service-overview-actions{padding:var(--space-5);flex-direction:column}.service-overview-actions .btn{width:100%}.news-featured-visual{min-height:15rem}.news-featured-title{font-size:var(--text-xl)}.news-feed-heading{align-items:flex-start;gap:var(--space-2);flex-direction:column}.news-feed-item{gap:var(--space-4);grid-template-columns:1fr}.news-feed-date{flex-direction:row;justify-content:space-between;align-items:center}.news-feed-action{grid-column:1}.news-feed-item:focus-within .news-feed-content{transform:none}.news-feed-item:has(a:hover) .news-feed-content{transform:none}.client-logos-grid{gap:var(--space-3) var(--space-4)}.client-logo-item{padding:var(--space-1)}.client-logo-item img{width:min(7.5rem,35vw)}.portfolio-preview-section .section-cta-wrap .btn{white-space:normal;text-align:center;width:100%}.portfolio-preview-grid{grid-template-columns:minmax(0,1fr)}.hero-showcase-caption{grid-template-columns:1fr}.hero-showcase-link{margin-top:var(--space-2);grid-area:auto/1}.cta-band-actions{flex-direction:column}.cta-band-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.route-page-transition{animation:none}.service-overview-item{animation:none;transform:none}.service-card,.service-icon-box{transition:none;transform:none}.service-card{animation:none}.service-illustration,.service-visual-motion-a,.service-visual-motion-b,.service-visual-motion-c,.service-visual-trace{transition:none}.service-visual-motion-a,.service-visual-motion-b,.service-visual-motion-c{transform:none!important}.service-visual-trace{stroke-dashoffset:0}.news-featured-story,.news-feed-item{animation:none;transform:none}.news-visual-path,.news-visual-stack,.news-feed-content{transition:none}.news-visual-path{stroke-dashoffset:0}.news-visual-stack,.news-feed-content{transform:none!important}.hero-wave-layer{animation:none;transform:none}.portfolio-hero-copy,.portfolio-hero-project{animation:none}.portfolio-hero-stage,.portfolio-hero-project,.portfolio-hero-project img,.portfolio-hero-stage:before{transition:none}.portfolio-hero-stage{transform:none}.portfolio-hero-project{translate:none}.portfolio-hero-stage:hover .portfolio-hero-project-2{--project-hover-x:.45rem;--project-hover-y:-.45rem}.portfolio-hero-stage:hover .portfolio-hero-project-3{--project-hover-x:-.45rem;--project-hover-y:.35rem}.portfolio-hero-project:hover img{transform:none}.hero-content,.hero-showcase-stage{opacity:1;animation:none;transform:none}.hero-showcase,.hero-showcase-img{transition:none}.hero-showcase,.hero-tech-status-dot,.hero-tech-signal i{animation:none}.hero-showcase{translate:none}.hero-showcase:hover,.hero-showcase:hover .hero-showcase-img{transform:none}.hero-showcase-media:before,.hero-scroll-arrow{animation:none}.hero-showcase-media:after{transition:none}.portfolio-card{animation:none}.portfolio-card,.portfolio-img,.portfolio-link-action{transition:none}.portfolio-card:hover,.portfolio-card:hover .portfolio-img,.portfolio-card:hover .portfolio-link-action{transform:none}}.portfolio-meta-status{margin-bottom:var(--space-4);justify-content:flex-start;align-items:center;display:flex}.portfolio-count-text{font-size:var(--text-sm);color:var(--muted);background-color:var(--bg-soft);border-radius:var(--radius-sm);border:1px solid var(--line);padding:4px 12px;font-weight:500}.portfolio-pagination-row{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-8);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.portfolio-page-btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:120px;min-height:44px;font-weight:600;display:inline-flex}.portfolio-page-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.portfolio-page-dots{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.portfolio-dot-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background-color:var(--surface);min-width:44px;min-height:44px;color:var(--text);font-weight:700;font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.portfolio-dot-btn:hover{border-color:var(--primary);color:var(--primary);background-color:var(--blue-50)}[data-theme=dark] .portfolio-dot-btn:hover{background-color:var(--bg-soft)}.portfolio-dot-btn.is-active{background-color:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #3f98d040}@media (width<=1024px){.news-detail-hero-grid{gap:var(--space-7);grid-template-columns:minmax(0,1.1fr) minmax(17rem,.9fr)}.news-detail-layout{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(15.5rem,17rem)}}@media (width<=820px){.news-detail-hero-grid,.news-detail-layout{grid-template-columns:minmax(0,1fr)}.news-detail-hero-grid{gap:var(--space-6)}.news-detail-summary-panel{padding-top:var(--space-5);border-top:1px solid var(--hero-line-strong);border-left:0;padding-left:0}.news-detail-summary{max-width:42rem}.news-detail-layout{gap:var(--space-8)}.news-detail-rail{position:static}.related-news-list,.related-news-header,.all-news-link{max-width:46rem}.article-consultation{max-width:32rem}}@media (width<=560px){.news-detail-hero{padding-block:var(--space-5) 5.5rem}.news-detail-hero .breadcrumb{margin-bottom:var(--space-6);flex-wrap:wrap}.news-detail-hero .page-hero-title{font-size:clamp(2.15rem,10vw,3rem)}.news-detail-meta{gap:var(--space-3)}.article-body-section{padding-block:var(--space-7)}.article-opening{margin-bottom:var(--space-6);font-size:var(--text-md)}.article-opening:first-letter{font-size:2.9em}.article-main-body .body-paragraph{line-height:1.8}.article-source{grid-template-columns:minmax(0,1fr)}.article-source a{width:100%}.news-detail-layout{gap:var(--space-7)}.article-consultation{max-width:none}}
