/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--angle:0deg}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:var(--lightningcss-light,#171716)var(--lightningcss-dark,#ebe7df);--paper:var(--lightningcss-light,#f4f1e9)var(--lightningcss-dark,#121110);--orange:var(--lightningcss-light,#ff5a1f)var(--lightningcss-dark,#ff6a33);--orange-deep:var(--lightningcss-light,#bd3107)var(--lightningcss-dark,#ff8250);--line:rgb(from var(--ink) r g b / .16);--surface:var(--lightningcss-light,#faf8f3)var(--lightningcss-dark,#1c1b19);--surface-raised:var(--lightningcss-light,#fffefb)var(--lightningcss-dark,#232220);--surface-sunk:var(--lightningcss-light,#f1ece1)var(--lightningcss-dark,#171614);--key-face:var(--lightningcss-light,#f4f1e9)var(--lightningcss-dark,#292724);--key-wall:var(--lightningcss-light,#d9d2c5)var(--lightningcss-dark,#0c0c0b);--key-wall-deep:var(--lightningcss-light,#c7bfb2)var(--lightningcss-dark,#070707);--panel:var(--lightningcss-light,#171716)var(--lightningcss-dark,#e7e2d8);--panel-ink:var(--lightningcss-light,#f4f1e9)var(--lightningcss-dark,#1b1a18);--panel-accent:var(--lightningcss-light,#ff8a5c)var(--lightningcss-dark,#bd3107);--tile-light:#f4f1e9;--accent-solid:#b8380d;--shell-glow:var(--lightningcss-light,#fffffffa)var(--lightningcss-dark,#ffffff05);--shell-glow-soft:var(--lightningcss-light,#fffc)var(--lightningcss-dark,#ffffff04);--shell-warm:var(--lightningcss-light,#ff72363b)var(--lightningcss-dark,#ff72361a);--shell-a:var(--lightningcss-light,#f8f6f0)var(--lightningcss-dark,#131211);--shell-b:var(--lightningcss-light,#ede9e1)var(--lightningcss-dark,#0f0f0e);--shell-c:var(--lightningcss-light,#f6ece5)var(--lightningcss-dark,#171310);--shadow-tint:var(--lightningcss-light,#49321f)var(--lightningcss-dark,#000);--edge-light:var(--lightningcss-light,#ffffffe6)var(--lightningcss-dark,#ffffff12);--stage-fade:var(--lightningcss-light,#f4f1e94d)var(--lightningcss-dark,#0000);--stage-fade-soft:var(--lightningcss-light,#f4f1e938)var(--lightningcss-dark,#0000)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:.52s cubic-bezier(.32,.08,.24,1) both theme-wave}@keyframes theme-wave{0%{clip-path:circle(0 at var(--wave-x,50%) var(--wave-y,50%))}to{clip-path:circle(var(--wave-r,160%) at var(--wave-x,50%) var(--wave-y,50%))}}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation:none}.case-stack:after{opacity:0;animation:none}}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only}*{box-sizing:border-box}.page-tools{z-index:40;align-items:center;gap:10px;display:flex;position:fixed;bottom:24px;left:24px}.theme-toggle{cursor:pointer;width:48px;height:48px;color:var(--ink);background:0 0;border:0;padding:0}.theme-toggle-face{border:1px solid var(--line);background:var(--key-face);width:100%;height:100%;box-shadow:0 4px 0 var(--key-wall), 0 12px 24px rgb(from var(--shadow-tint) r g b / .18);border-radius:15px;place-items:center;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;display:grid}.theme-toggle:hover .theme-toggle-face{border-color:rgb(from var(--orange) r g b / .45);box-shadow:0 6px 0 var(--key-wall), 0 16px 28px rgb(from var(--shadow-tint) r g b / .24);transform:translateY(-2px)}.theme-toggle:active .theme-toggle-face{box-shadow:0 1px 0 var(--key-wall), 0 6px 14px rgb(from var(--shadow-tint) r g b / .2);transform:translateY(3px)}.theme-toggle:focus-visible .theme-toggle-face{outline:2px solid var(--orange);outline-offset:3px}.theme-toggle svg{width:22px;height:22px;color:var(--orange-deep);display:block;overflow:visible}.theme-bite{fill:var(--key-face);transform-origin:17.4px 7.6px;transition:transform .32s cubic-bezier(.34,1.4,.5,1);transform:translate(3px,-3px)scale(.4)}.theme-rays{opacity:1;transform-origin:12px 12px;transition:opacity .24s,transform .38s cubic-bezier(.34,1.4,.5,1)}.theme-disc{transform-origin:12px 12px;transition:transform .32s cubic-bezier(.34,1.4,.5,1)}[data-theme=dark] .theme-bite{transform:translate(-1.6px,1.6px)scale(1)}[data-theme=dark] .theme-rays{opacity:0;transform:scale(.4)rotate(-45deg)}[data-theme=dark] .theme-disc{transform:scale(1.16)}.locale-switch{border:1px solid var(--line);background:var(--key-face);height:48px;box-shadow:0 4px 0 var(--key-wall), 0 12px 24px rgb(from var(--shadow-tint) r g b / .18);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;color:var(--orange-deep);border-radius:15px;place-items:center;padding:0 15px;font-size:11px;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;display:grid}.locale-switch:hover{border-color:rgb(from var(--orange) r g b / .45);box-shadow:0 6px 0 var(--key-wall), 0 16px 28px rgb(from var(--shadow-tint) r g b / .24);transform:translateY(-2px)}.locale-switch:active{box-shadow:0 1px 0 var(--key-wall), 0 6px 14px rgb(from var(--shadow-tint) r g b / .2);transform:translateY(3px)}.locale-switch:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media (width<=599px){.page-tools{gap:8px;bottom:14px;left:14px}.theme-toggle{width:42px;height:42px}.theme-toggle svg{width:19px;height:19px}.locale-switch{height:42px;padding:0 12px;font-size:10px}}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;text-rendering:optimizelegibility;margin:0}button,a{color:inherit;font:inherit}a{text-decoration:none}.site-shell{background:radial-gradient(circle at 14% 15%, var(--shell-glow), transparent 28%), radial-gradient(circle at 76% 44%, var(--shell-warm), transparent 33%), radial-gradient(circle at 96% 8%, var(--shell-glow-soft), transparent 21%), linear-gradient(135deg, var(--shell-a) 0%, var(--shell-b) 52%, var(--shell-c) 100%);min-height:100svh;position:relative;overflow:hidden}.site-shell:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(rgb(from var(--ink) r g b / .028) 1px, transparent 1px), linear-gradient(90deg, rgb(from var(--ink) r g b / .028) 1px, transparent 1px);background-size:58px 58px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 100svh,#000 calc(100svh + 620px));mask-image:linear-gradient(#0000 100svh,#000 calc(100svh + 620px))}.topbar{z-index:30;border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;width:min(100% - 48px,1520px);height:82px;margin:0 auto;display:grid;position:relative}.brand{grid-template-columns:auto auto;justify-self:start;align-items:center;column-gap:9px;display:grid}.brand-key{grid-row:1/3;place-items:center;width:38px;height:38px;transition:transform .26s;display:grid}.brand-key img{object-fit:contain;filter:drop-shadow(0 4px 4px #902d082e);width:100%;height:100%;display:block}.brand:hover .brand-key{transform:translateY(-2px)rotate(-4deg)}.brand-name{letter-spacing:-.045em;font-size:16px;font-weight:650;line-height:1.05}.brand-role{font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .48);font-size:7px;line-height:1.2}.nav-links{gap:38px;font-size:12px;display:flex}.nav-links a{padding:8px 0;position:relative}.nav-links a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;inset:auto 0 3px;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.contact-link{border:1px solid var(--ink);border-radius:999px;justify-self:end;align-items:center;gap:18px;min-height:40px;padding:0 16px 0 18px;font-size:11px;font-weight:560;transition:background-color .18s,color .18s;display:inline-flex}.contact-link span{font-size:16px}.contact-link svg,.primary-action svg,.project-open svg,.contact-caption svg,.popup-heading a svg{width:1em;height:1em;display:block}.contact-link:hover,.contact-link:focus-visible{background:var(--ink);color:var(--paper)}.hero{isolation:isolate;flex-direction:column;width:min(100% - 48px,1520px);min-height:calc(100svh - 82px);margin:0 auto;display:flex;position:relative}.grid-glow{z-index:-1;pointer-events:none;opacity:.38;background-image:linear-gradient(rgb(from var(--ink) r g b / .055) 1px, transparent 1px), linear-gradient(90deg, rgb(from var(--ink) r g b / .055) 1px, transparent 1px);background-size:58px 58px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000 68%)}.intro-line{z-index:20;height:62px;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:flex-end;align-items:center;font-size:9px;display:flex;position:relative}.intro-line span{align-items:center;gap:8px;display:inline-flex}.intro-line b{border:1px solid var(--line);background:var(--key-face);min-width:43px;color:var(--orange-deep);text-align:center;box-shadow:0 2px 0 rgb(from var(--ink) r g b / .13);border-radius:7px;padding:4px 7px;font-weight:500}.hero-stage{flex:1;place-items:center;min-height:660px;display:grid;position:relative}.webgl-stage{z-index:2;touch-action:pan-y;width:100vw;position:absolute;top:-28px;bottom:-28px;left:50%;transform:translate(-50%)}.webgl-stage:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(0deg, var(--stage-fade) 0%, transparent 4%, transparent 96%, var(--stage-fade-soft) 100%);position:absolute;inset:0}.webgl-stage canvas{outline:none;display:block}.center-copy{z-index:8;text-align:center;pointer-events:none;flex-direction:column;align-items:center;width:min(810px,62vw);display:flex;position:relative}.kicker{border:1px solid rgb(from var(--ink) r g b / .11);background:rgb(from var(--paper) r g b / .62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .64);border-radius:999px;margin:0 0 23px;padding:8px 12px;font-size:8px}h1{letter-spacing:-.078em;text-shadow:0 2px 18px rgb(from var(--paper) r g b / .82);flex-direction:column;margin:0;font-size:clamp(62px,6.55vw,104px);font-weight:525;line-height:.86;display:flex}h1 span{white-space:nowrap}.hero-word{animation:.56s cubic-bezier(.22,.75,.25,1) both hero-word-in;animation-delay:calc(var(--word) * 55ms);display:inline-block}.topbar,.intro-line,.kicker,.description,.actions{animation:.62s cubic-bezier(.22,.75,.25,1) .7s both hero-rise-in}@keyframes hero-word-in{0%{opacity:0;transform:translateY(.42em)}}@keyframes hero-rise-in{0%{opacity:0;transform:translateY(14px)}}.reveal-ready .reveal{opacity:0}.reveal-ready.is-revealed .reveal{animation:.62s cubic-bezier(.22,.75,.25,1) both reveal-in;animation-delay:calc(var(--reveal,0) * 55ms)}@keyframes reveal-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.about-heading>.section-label{--reveal:0}.about-heading h2 span:first-child{--reveal:1}.about-heading h2 span:nth-child(2){--reveal:2}.about-heading h2 span:nth-child(3){--reveal:3}.about-heading .about-lead{--reveal:4}.about-grid .career-stats article:nth-of-type(2){--reveal:1}.about-grid .career-stats article:nth-of-type(3){--reveal:2}.about-grid .experience-title{--reveal:3}.about-grid .experience-item:first-of-type{--reveal:4}.about-grid .experience-item:nth-of-type(2){--reveal:5}.about-grid .experience-item:nth-of-type(3){--reveal:6}.services-heading>.services-label{--reveal:0}.services-heading h2 span:first-child{--reveal:1}.services-heading h2 span:nth-child(2){--reveal:2}.services-heading>div>p{--reveal:3}.faq-heading>.faq-label{--reveal:0}.faq-heading h2 span:first-child{--reveal:1}.faq-heading h2 span:nth-child(2){--reveal:2}.faq-heading>div>p{--reveal:3}.projects-heading>.projects-label{--reveal:0}.projects-heading h2 span:first-child{--reveal:1}.projects-heading h2 span:nth-child(2){--reveal:2}.projects-heading>div>p{--reveal:3}.project-board .project-smart{--reveal:1}.project-board .project-teacher{--reveal:2}.project-board .project-soon{--reveal:3}.contacts-heading>.contacts-label{--reveal:0}.contacts-heading h2 span:first-child{--reveal:1}.contacts-heading h2 span:nth-child(2){--reveal:2}.contacts-heading>div>p{--reveal:3}.contact-keys .contact-item:nth-of-type(2) .contact-caption{--reveal:1}.contact-keys .contact-item:nth-of-type(3) .contact-caption{--reveal:2}.contact-footer .reveal:nth-child(2){--reveal:1}.contact-footer .reveal:nth-child(3){--reveal:2}h1 em{color:var(--orange);letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-weight:400}.key-popup{z-index:1000;border:1px solid rgb(from var(--ink) r g b / .13);background:rgb(from var(--surface) r g b / .92);width:min(600px,100vw - 40px);box-shadow:0 18px 52px rgb(from var(--shadow-tint) r g b / .22), inset 0 1px 0 var(--edge-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;align-items:center;animation:.22s cubic-bezier(.2,.8,.2,1) both popup-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.popup-number{background:var(--ink);min-width:66px;color:var(--paper);font-family:var(--font-geist-mono), monospace;border-radius:15px 0 0 15px;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;gap:4px;display:flex}.popup-number small{color:rgb(from var(--paper) r g b / .6);letter-spacing:.12em;text-transform:uppercase;font-size:6px;font-weight:400}.popup-number b{font-size:13px;font-weight:500}.popup-content{flex:1;min-width:0;padding:13px 16px 14px}.popup-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.popup-heading>span{align-items:baseline;gap:9px;display:flex}.popup-heading strong,.popup-heading em,.popup-description,.popup-heading a,.key-popup li{font-family:var(--font-geist-mono), monospace;margin:0}.popup-heading strong{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.popup-heading em{color:rgb(from var(--ink) r g b / .55);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;font-size:7px;font-style:normal}.popup-heading a{border-bottom:1px solid rgb(from var(--ink) r g b / .32);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;padding-bottom:2px;font-size:7px;display:inline-flex}.popup-description{max-width:445px;color:rgb(from var(--ink) r g b / .67);margin:7px 0 9px;font-size:9px;line-height:1.42}.key-popup ul{gap:5px;margin:0;padding:0;list-style:none;display:flex}.key-popup li{border:1px solid rgb(from var(--ink) r g b / .1);background:rgb(from var(--ink) r g b / .05);color:rgb(from var(--ink) r g b / .62);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 7px;font-size:6px}.key-popup button{background:rgb(from var(--ink) r g b / .06);width:32px;height:32px;color:rgb(from var(--ink) r g b / .56);cursor:pointer;border:0;border-radius:50%;place-items:center;margin-right:8px;padding:0;transition:background .16s,color .16s;display:grid}.key-popup button:hover,.key-popup button:focus-visible{background:var(--ink);color:var(--paper)}@keyframes popup-in{0%{opacity:0;transform:translate(-50%,18px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.description{max-width:520px;color:rgb(from var(--ink) r g b / .64);letter-spacing:-.025em;text-shadow:0 1px 16px rgb(from var(--paper) r g b / .92);margin:32px 0 0;font-size:clamp(14px,1.02vw,17px);line-height:1.48}.actions{pointer-events:auto;align-items:center;gap:24px;margin-top:28px;display:flex}.primary-action{background:var(--orange);color:#fff;min-height:52px;box-shadow:0 5px 0 var(--orange-deep), 0 14px 31px #bd310733;border-radius:999px;align-items:center;gap:28px;padding:0 9px 0 21px;font-size:12px;font-weight:570;transition:transform .17s,box-shadow .17s;display:inline-flex}.primary-action span{background:#ffffff2e;border-radius:50%;place-items:center;width:35px;height:35px;font-size:18px;display:grid}.primary-action:hover,.primary-action:focus-visible{box-shadow:0 2px 0 var(--orange-deep), 0 7px 17px #bd310729;transform:translateY(3px)}.secondary-action{border-bottom:1px solid rgb(from var(--ink) r g b / .45);padding-bottom:3px;font-size:11px}.error-page{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100% - 48px,1520px);min-height:calc(100svh - 82px);margin:0 auto;padding-bottom:64px;display:flex;position:relative}.error-keys{aspect-ratio:1.9;width:min(560px,82vw);margin-bottom:clamp(8px,2vw,26px)}.error-keys canvas{outline:none;display:block;width:100%!important;height:100%!important}.error-label{border:1px solid rgb(from var(--ink) r g b / .11);background:rgb(from var(--paper) r g b / .62);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .56);border-radius:999px;margin:0 0 18px;padding:8px 12px;font-size:8px}.error-title{letter-spacing:-.07em;max-width:14ch;margin:0;font-size:clamp(42px,5.6vw,88px);font-weight:525;line-height:.9}.error-copy{max-width:460px;color:rgb(from var(--ink) r g b / .64);letter-spacing:-.025em;margin:22px 0 0;font-size:clamp(14px,1.02vw,17px);line-height:1.48}.error-page .actions{justify-content:center}.error-shell .topbar{grid-template-columns:1fr auto}.project-dialog{border:1px solid rgb(from var(--ink) r g b / .14);background:var(--surface);width:min(940px,100vw - 32px);max-height:min(880px,100svh - 32px);color:var(--ink);border-radius:28px;margin:auto;padding:0;animation:.26s cubic-bezier(.2,.8,.2,1) both dialog-in;overflow:hidden;box-shadow:0 34px 90px #34251a42}.project-dialog::backdrop{background:rgb(from var(--ink) r g b / .44);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)scale(.985)}}.project-dialog-inner{max-height:inherit;grid-template-columns:1.05fr 1fr;align-items:stretch;display:grid}.project-dialog-close{z-index:2;border:1px solid rgb(from var(--ink) r g b / .14);background:rgb(from var(--surface) r g b / .92);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;line-height:1;transition:background-color .16s,color .16s;display:grid;position:absolute;top:14px;right:14px}.project-dialog-close:hover,.project-dialog-close:focus-visible{background:var(--ink);color:var(--paper)}.project-dialog-preview{background:var(--surface-sunk);margin:0;position:relative;overflow:hidden}.project-dialog-preview img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.project-dialog-body{flex-direction:column;padding:clamp(24px,3vw,38px);display:flex;overflow-y:auto}.project-dialog-number{font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);margin:0 0 12px;font-size:9px}.project-dialog-body h3{letter-spacing:-.05em;margin:0;font-size:clamp(28px,3vw,40px);font-weight:560;line-height:1.02}.project-dialog-detail{color:rgb(from var(--ink) r g b / .66);letter-spacing:-.02em;margin:16px 0 0;font-size:14px;line-height:1.55}.project-dialog-facts{flex-wrap:wrap;gap:10px 34px;margin:24px 0 0;display:flex}.project-dialog-facts div{gap:4px;display:grid}.project-dialog-facts dt{font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .5);font-size:8px}.project-dialog-facts dd{margin:0;font-size:13px;font-weight:520}.project-dialog-stack{gap:10px;margin:24px 0 0;display:grid}.project-dialog-stack>span{font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .5);font-size:8px}.project-dialog-stack ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.project-dialog-stack li{border:1px solid rgb(from var(--ink) r g b / .13);font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .68);border-radius:999px;padding:6px 11px;font-size:9px}.project-dialog .actions{margin-top:auto;padding-top:28px}.project-dialog .secondary-action{border:0;border-bottom:1px solid rgb(from var(--ink) r g b / .45);cursor:pointer;background:0 0}@media (width<=760px){.project-dialog-inner{grid-template-rows:auto 1fr;grid-template-columns:1fr}.project-dialog-preview{aspect-ratio:1.7}}.about{background:radial-gradient(circle at 13% 38%, #ff5a1f2b, transparent 24%), radial-gradient(circle at 90% 8%, rgb(from var(--panel-ink) r g b / .07), transparent 22%), var(--panel);width:min(100% - 48px,1520px);color:var(--panel-ink);border-radius:36px;margin:28px auto 0;padding:clamp(54px,5.5vw,86px);position:relative;overflow:hidden}.about:before{content:"";pointer-events:none;opacity:.18;background-image:linear-gradient(rgb(from var(--panel-ink) r g b / .08) 1px, transparent 1px), linear-gradient(90deg, rgb(from var(--panel-ink) r g b / .08) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 60%);mask-image:linear-gradient(#000,#0000 60%)}.about-heading,.about-grid{z-index:1;position:relative}.about-heading{grid-template-columns:minmax(150px,.28fr) 1fr;align-items:start;gap:40px;display:grid}.section-label{font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--panel-ink) r g b / .68);align-items:center;gap:11px;margin:9px 0 0;font-size:9px;display:flex}.section-label span{border:1px solid rgb(from var(--panel-ink) r g b / .2);width:31px;height:31px;color:var(--panel-accent);border-radius:9px;place-items:center;display:grid}.about h2{letter-spacing:-.068em;flex-direction:column;max-width:1040px;margin:0;font-size:clamp(52px,5.7vw,88px);font-weight:480;line-height:.91;display:flex}.about h2 span{white-space:nowrap}.about h2 em{color:#ff6630;letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-weight:400}.about-lead{max-width:730px;color:rgb(from var(--panel-ink) r g b / .63);letter-spacing:-.022em;margin:31px 0 0;font-size:clamp(15px,1.15vw,18px);line-height:1.55}.about-grid{grid-template-columns:minmax(280px,.76fr) minmax(520px,1.55fr);align-items:stretch;gap:28px;margin-top:clamp(54px,6vw,88px);display:grid}.profile-card{border:1px solid rgb(from var(--panel-ink) r g b / .14);background:#282624;border-radius:28px;min-height:650px;margin:0;position:relative;overflow:hidden}.profile-card:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0e0d0cf0);position:absolute;inset:35% 0 0}.profile-card img{object-fit:cover;filter:saturate(.82)contrast(1.04);will-change:transform, filter;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .3s;position:absolute;inset:0}.profile-card:hover img{filter:saturate()contrast(1.02);transform:scale(1.025)}.profile-card figcaption{z-index:2;color:#f4f1e9;flex-direction:column;gap:6px;display:flex;position:absolute;inset:auto 24px 24px}.profile-card figcaption strong{letter-spacing:-.05em;font-size:clamp(27px,2.3vw,38px);font-weight:520;line-height:1}.profile-card figcaption span{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:#f4f1e9b8;font-size:8px}.profile-card figcaption small{font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#ff8a5c;margin-top:5px;font-size:8px;font-weight:400}.career-column{flex-direction:column;gap:18px;display:flex}.career-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.career-stats article{border:1px solid rgb(from var(--panel-ink) r g b / .11);background:rgb(from var(--panel-ink) r g b / .055);min-height:148px;box-shadow:inset 0 1px 0 rgb(from var(--panel-ink) r g b / .06);border-radius:20px;flex-direction:column;justify-content:space-between;padding:21px;display:flex}.career-stats article.stat-accent{background:var(--accent-solid);border-color:#ff6f366b}.career-stats strong{letter-spacing:-.065em;font-variant-numeric:tabular-nums;font-size:clamp(34px,3.5vw,56px);font-weight:470;line-height:.9}.stat-accent strong{letter-spacing:-.055em;font-size:clamp(29px,2.8vw,44px)}.career-stats span{max-width:190px;font-family:var(--font-geist-mono), monospace;letter-spacing:.045em;text-transform:uppercase;color:rgb(from var(--panel-ink) r g b / .75);font-size:9px;font-weight:450;line-height:1.38}.stat-accent strong,.stat-accent span{color:#fff3ec}.stat-accent span{color:#fff3eceb}.stack-folders{margin-top:22px}.stack-title{min-height:46px;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:9px;display:flex}.stack-title small{color:rgb(from var(--panel-ink) r g b / .66);font-size:inherit}.stack-carousel{touch-action:pan-y;-webkit-user-select:none;user-select:none;padding-bottom:8px}.carousel-stage{place-items:end center;height:356px;display:grid;position:relative}.slide{width:min(330px,82vw);z-index:var(--depth,1);will-change:transform;transform:translateX(calc(var(--offset) * 260px)) scale(1);filter:brightness()saturate();grid-area:1/1;justify-content:center;transition:transform .62s cubic-bezier(.22,.8,.2,1),opacity .48s,filter .48s;display:flex;position:relative}.slide:not(.is-active){opacity:.46;filter:saturate(.72);transform:translateX(calc(var(--offset) * 260px)) scale(.82)}.slide-cards{z-index:1;margin:0;padding:0;list-style:none;position:absolute;bottom:96px;left:50%}.tech-card{transform:translate(calc(-50% + var(--rest-x)), 22px) scale(.82) rotate(var(--rest-turn));transition:transform .62s cubic-bezier(.22,.8,.2,1),opacity .42s;transition-delay:calc(var(--order,0) * 45ms);display:flex;position:absolute;bottom:0;left:0}.slide.is-open .tech-card{opacity:var(--fade);transform:translate(calc(-50% + var(--x)), var(--y)) scale(var(--scale)) rotate(var(--turn))}.tech-mark{width:52px;height:52px;color:var(--brand,#f4f1e9e0);filter:drop-shadow(0 10px 18px #00000073);border-radius:12px;place-items:center;display:grid}.tech-mark svg,.tech-mark img{object-fit:contain;width:100%;height:100%;display:block}.slide:not(.is-active) .tech-mark{filter:none}.tech-mark.is-flat{background:var(--tile-light);padding:11px}.tech-mark.is-flat svg{width:auto;height:100%}.tech-mark b{letter-spacing:-.05em;font-size:19px;font-weight:600}@media (hover:hover){.slide.is-open .slide-cards:hover .tech-card:not(:hover){opacity:calc(var(--fade) * .5);filter:grayscale()}.slide.is-open .slide-cards:hover .tech-card{transition-duration:.26s;transition-delay:0s}.slide.is-open .slide-cards:hover{z-index:3}.slide.is-open .tech-card:hover{z-index:1;opacity:1;transform:translate(calc(-50% + var(--x)), var(--y)) scale(calc(var(--scale) * 1.14))}}.tech-name{font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#f4f1e9e6;opacity:0;pointer-events:none;transform:translate(-50%, 5px) rotate(calc(-1 * var(--turn)));background:#121210eb;border:1px solid #ffffff21;border-radius:8px;padding:5px 9px;font-size:9px;transition:opacity .2s,transform .24s cubic-bezier(.2,.8,.2,1);position:absolute;top:calc(100% + 9px);left:50%}.tech-card:hover .tech-name{opacity:1;transform:translate(-50%)}.slide-folder{width:100%;height:152px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;position:relative}.slide.is-active .slide-folder{cursor:default}.slide-folder:focus-visible{outline-offset:8px;border-radius:22px;outline:2px solid #ff8a5c}.folder-back{--folder-fill:var(--accent-solid);--tab-left:26px;--tab-width:104px;--fillet:10px;background:var(--folder-fill);filter:drop-shadow(0 22px 36px #3a0e008c);border-radius:20px;position:absolute;inset:0}.folder-back:before{content:"";left:var(--tab-left);width:var(--tab-width);background:inherit;border-radius:11px 11px 0 0;height:25px;position:absolute;bottom:calc(100% - 10px)}.folder-back:after{content:"";left:calc(var(--tab-left) - var(--fillet));width:calc(var(--tab-width) + var(--fillet) * 2);height:calc(var(--fillet) + 1px);background:radial-gradient(circle var(--fillet) at 0 0, transparent var(--fillet), var(--folder-fill) 0) left top / var(--fillet) 100% no-repeat, radial-gradient(circle var(--fillet) at 100% 0, transparent var(--fillet), var(--folder-fill) 0) right top / var(--fillet) 100% no-repeat;position:absolute;bottom:calc(100% - 1px)}.folder-front{z-index:2;-webkit-backdrop-filter:blur(11px)saturate(1.15);backdrop-filter:blur(11px)saturate(1.15);background:linear-gradient(170deg,#ffc49c4d 0%,#ff7a3e21 44%,#601a043d 100%);border-radius:18px;transition:transform .52s cubic-bezier(.22,.8,.2,1);position:absolute;inset:34px -1px -1px;transform:rotate(-1.1deg);box-shadow:inset 0 1px #ffe2ce57,inset 0 -1px #340c005c}.slide.is-open .folder-front{transform:rotate(-1.1deg)translateY(7px)}.folder-label{z-index:3;color:#fff4ec;gap:6px;display:grid;position:absolute;inset:auto 22px 22px}.folder-label strong{letter-spacing:-.04em;font-size:21px;font-weight:540}.folder-label small{letter-spacing:-.01em;color:#fff5eed1;font-size:12px;line-height:1.4}.carousel-dots{justify-content:center;gap:9px;margin-top:22px;display:flex}.carousel-dots button{background:rgb(from var(--panel-ink) r g b / .16);cursor:pointer;border:0;border-radius:3px;width:22px;height:5px;padding:0;transition:background-color .26s,width .32s cubic-bezier(.2,.8,.2,1)}.carousel-dots button.is-active{background:var(--panel-accent);width:38px}.carousel-dots button:focus-visible{outline:2px solid var(--panel-accent);outline-offset:4px}.experience{border:1px solid rgb(from var(--panel-ink) r g b / .11);background:rgb(from var(--panel-ink) r g b / .04);border-radius:24px;flex:1;overflow:hidden}.experience-title{border-bottom:1px solid rgb(from var(--panel-ink) r g b / .11);min-height:58px;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 22px;font-size:9px;display:flex}.experience-title small{color:rgb(from var(--panel-ink) r g b / .66);font-size:inherit}.resume-link{border:1px solid rgb(from var(--panel-ink) r g b / .16);font:inherit;letter-spacing:inherit;color:rgb(from var(--panel-ink) r g b / .78);border-radius:9px;align-items:center;gap:8px;margin-right:-8px;padding:7px 11px;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.resume-link svg{width:13px;height:13px;color:var(--panel-accent);transition:transform .24s cubic-bezier(.2,.8,.2,1);display:block}.resume-link:hover,.resume-link:focus-visible{color:var(--panel-ink);background:#ff8a5c1a;border-color:#ff8a5c80}.resume-link:hover svg{transform:translateY(2px)}.resume-link:focus-visible{outline:2px solid var(--panel-accent);outline-offset:3px}.experience-item{border-bottom:1px solid rgb(from var(--panel-ink) r g b / .09);grid-template-columns:52px minmax(250px,1fr);align-items:center;gap:18px;min-height:146px;padding:22px 108px 22px 22px;transition:background .18s;display:grid;position:relative}.experience-item:last-child{border-bottom:0}.experience-item:hover{background:rgb(from var(--panel-ink) r g b / .04)}.experience-item time{font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;color:var(--panel-accent);font-size:8px;position:absolute;top:25px;right:22px}.company-logo{border:1px solid rgb(from var(--panel-ink) r g b / .14);background:rgb(from var(--panel-ink) r g b / .07);letter-spacing:-.04em;border-radius:13px;place-items:center;width:46px;height:46px;font-size:13px;font-weight:650;display:grid;overflow:hidden}.company-logo svg{width:100%;height:100%;display:block}.logo-smg{background:#fff}.logo-roistat{background:var(--tile-light);padding:8px}.logo-liga{color:#171716;background:#ffcf37}.experience-item h3{letter-spacing:-.04em;margin:0;font-size:20px;font-weight:540}.experience-item h3 a{align-items:baseline;gap:9px;transition:color .18s;display:inline-flex}.experience-item h3 a i{width:14px;height:14px;color:var(--panel-accent);opacity:0;transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:block;transform:translate(-3px,2px)}.experience-item h3 a i svg{width:100%;height:100%;display:block}.experience-item h3 a:hover{color:var(--panel-accent)}.experience-item h3 a:hover i,.experience-item h3 a:focus-visible i{opacity:1;transform:none}.experience-item h3 a:focus-visible{outline:2px solid var(--panel-accent);outline-offset:4px;border-radius:4px}.experience-role{font-family:var(--font-geist-mono), monospace;letter-spacing:.055em;text-transform:uppercase;color:var(--panel-accent);margin:5px 0 10px;font-size:9px;font-weight:520}.experience-copy>span{max-width:540px;color:rgb(from var(--panel-ink) r g b / .74);font-size:13px;line-height:1.45;display:block}.experience-stack{font-family:var(--font-geist-mono), monospace;letter-spacing:.065em;text-transform:uppercase;color:rgb(from var(--panel-ink) r g b / .68);margin:10px 0 0;font-size:8px}.faq,.projects,.services{width:min(100% - 48px,1520px);margin:28px auto 0;padding:clamp(70px,7vw,112px) clamp(32px,5.5vw,84px) clamp(78px,8vw,124px);position:relative}.faq-heading,.faq-list,.projects-heading,.project-board,.services-heading,.service-board{z-index:1;position:relative}.faq-heading,.projects-heading,.services-heading{grid-template-columns:minmax(150px,.28fr) 1fr;align-items:start;gap:40px;display:grid}.faq-label,.projects-label,.services-label{font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .53);align-items:center;gap:11px;margin:8px 0 0;font-size:9px;display:flex}.faq-label span,.projects-label span,.services-label span{border:1px solid rgb(from var(--ink) r g b / .16);width:31px;height:31px;color:var(--orange-deep);border-radius:9px;place-items:center;display:grid}.faq h2,.projects h2,.services h2{letter-spacing:-.067em;flex-direction:column;max-width:930px;margin:0;font-size:clamp(48px,5.4vw,84px);font-weight:500;line-height:.93;display:flex}.faq h2 span,.projects h2 span,.services h2 span{white-space:nowrap}.faq h2 em,.projects h2 em,.services h2 em{color:var(--orange);font-family:Georgia,Times New Roman,serif;font-weight:400}.faq-heading>div>p,.projects-heading>div>p,.services-heading>div>p{max-width:620px;color:rgb(from var(--ink) r g b / .61);letter-spacing:-.02em;margin:28px 0 0;font-size:15px;line-height:1.55}.service-board{perspective:1400px;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:clamp(52px,6vw,86px);display:grid}.service-slot{display:flex}.reveal-ready.is-revealed .service-slot.reveal{animation-name:service-key-in;animation-duration:.76s}@keyframes service-key-in{0%{opacity:0;transform:translateY(52px)rotateX(26deg)scale(.94)}to{opacity:1;transform:none}}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}.service-card{--lift:9px;--rise:0px;--glow:0;isolation:isolate;border:1px solid rgb(from var(--ink) r g b / .14);background:linear-gradient(180deg, var(--surface-raised) 0%, var(--surface) 48%, var(--surface-sunk) 100%);width:100%;min-height:300px;box-shadow:inset 0 1px 0 var(--edge-light), inset 0 -1px 0 rgb(from var(--ink) r g b / .05), 0 var(--lift) 0 var(--key-wall), 0 calc(var(--lift) + 1px) 0 var(--key-wall-deep), 0 calc(var(--lift) + 16px) 34px rgb(from var(--shadow-tint) r g b / .15);color:inherit;transform:translateY(var(--rise)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;border-radius:24px;flex-direction:column;gap:20px;padding:26px 26px 84px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.service-card:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.service-card.is-pressed{--lift:2px;--rise:6px;--rx:0deg;--ry:0deg;transition-duration:90ms}.service-sheen{z-index:-1;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%), #ff70343d, #ff70340f 45%, transparent 72%);opacity:var(--glow);pointer-events:none;transition:opacity .34s;position:absolute;inset:0}.service-ghost{z-index:-1;font-family:var(--font-geist-mono), monospace;letter-spacing:-.06em;color:rgb(from var(--ink) r g b / .05);pointer-events:none;transform:translate3d(calc(var(--px,0) * -16px), calc(var(--py,0) * -12px), 0);font-size:138px;font-weight:600;line-height:1;transition:transform .42s cubic-bezier(.2,.8,.2,1),color .34s;position:absolute;bottom:-34px;right:-6px}.service-card h3{letter-spacing:-.04em;margin:0;font-size:clamp(19px,1.7vw,25px);font-weight:560;line-height:1.05}.service-card p{color:rgb(from var(--ink) r g b / .58);letter-spacing:-.01em;margin:11px 0 0;font-size:12px;line-height:1.5}.service-tags{flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:0;list-style:none;display:flex}.service-tags li{border:1px solid rgb(from var(--ink) r g b / .1);background:rgb(from var(--ink) r g b / .05);font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .7);transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,background-color .28s,color .28s;transition-delay:calc(var(--tag,0) * 45ms);border-radius:8px;padding:6px 10px;font-size:10px}.service-cta{border-top:1px solid rgb(from var(--ink) r g b / .1);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);justify-content:space-between;align-items:center;gap:12px;padding-top:15px;font-size:10px;transition:color .28s;display:flex;position:absolute;inset:auto 26px 20px}@media (hover:hover){.service-cta{opacity:0;transition:opacity .28s,transform .32s cubic-bezier(.2,.8,.2,1),color .28s;transform:translateY(10px)}.service-card:hover .service-cta,.service-card:focus-visible .service-cta{opacity:1;transform:none}}.service-cta i{border:1px solid rgb(from var(--ink) r g b / .16);border-radius:8px;place-items:center;width:24px;height:24px;font-size:13px;transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .28s,border-color .28s,color .28s;display:grid}.service-cta svg{width:1em;height:1em;display:block}@media (hover:hover){.service-card:hover{--lift:17px;--rise:-9px;--glow:1}.service-card:hover .service-ghost{color:#ff5a1f24}.service-card:hover .service-tags li{color:var(--orange-deep);background:#ff5a1f1f;border-color:#ff5a1f47;transform:translateY(-3px)}.service-card:hover .service-cta i{background:var(--orange);color:#fff;border-color:#0000;transform:translate(2px,-2px)}.service-card:after{content:"";z-index:-1;border-radius:inherit;background:conic-gradient(from var(--angle), transparent 0 60%, #ff5a1fd9 75%, #ffba9459 84%, transparent 92%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1px;transition:opacity .32s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.service-card:hover:after{opacity:1;animation:3.6s linear infinite service-trace}}@keyframes service-trace{to{--angle:360deg}}.faq-list{grid-template-columns:repeat(2,1fr);align-items:start;column-gap:clamp(30px,4vw,68px);max-width:1060px;margin:clamp(46px,5vw,72px) auto 0;display:grid}.faq-item{border-top:1px solid rgb(from var(--ink) r g b / .14)}.faq-item:first-child{border-top:0}.faq-item summary{letter-spacing:-.03em;cursor:pointer;padding:26px 62px 26px 4px;font-size:clamp(17px,1.5vw,21px);font-weight:540;line-height:1.25;list-style:none;transition:color .18s;display:block;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--orange-deep)}.faq-item summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:6px}.faq-item summary i{background:var(--key-face);width:34px;height:34px;box-shadow:0 3px 0 var(--key-wall);border-radius:10px;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s;position:absolute;top:22px;right:6px}.faq-item summary i:before,.faq-item summary i:after{content:"";background:var(--orange-deep);border-radius:1px;height:1.5px;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .2s;position:absolute;inset:50% 10px auto;transform:translateY(-50%)}.faq-item summary i:after{transform:translateY(-50%)rotate(90deg)}.faq-item[open] summary i:after{opacity:0;transform:translateY(-50%)rotate(0)}.faq-item summary:hover i{box-shadow:0 0 0 var(--key-wall);transform:translateY(3px)}:root{interpolate-size:allow-keywords}.faq-item::details-content{opacity:0;height:0;transition:height .34s cubic-bezier(.22, .8, .2, 1), opacity .26s ease, content-visibility .34s allow-discrete;overflow:hidden}.faq-item[open]::details-content{opacity:1;height:auto}.faq-item p{max-width:720px;color:rgb(from var(--ink) r g b / .62);letter-spacing:-.01em;margin:0;padding:0 62px 28px 4px;font-size:15px;line-height:1.6}.project-board{grid-template-columns:repeat(12,1fr);grid-auto-rows:118px;gap:16px;margin-top:clamp(52px,6vw,86px);display:grid}.project-card,.project-soon{border:1px solid rgb(from var(--ink) r g b / .14);box-shadow:0 18px 46px rgb(from var(--shadow-tint) r g b / .09);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s;position:relative;overflow:hidden}.project-card{background:var(--surface);border-radius:29px;flex-direction:column;display:flex}.project-skin{grid-area:1/1/5/8}.project-smart{grid-area:1/8/5/13}.project-teacher{grid-area:5/1/9/9}.teacher-preview:after{content:"";background:linear-gradient(#0000,#17100b29);position:absolute;inset:55% 0 0}.project-preview{border-radius:21px;flex:1;min-height:0;margin:9px 9px 0;position:relative;overflow:hidden}.browser-bar{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffb8;min-height:29px;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;background:#14131285;border:1px solid #fff3;border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:7px;display:flex;position:absolute;top:10px;left:10px}.browser-bar i{background:#ffffff8f;border-radius:50%;width:4px;height:4px}.skin-preview img,.teacher-preview img{object-fit:cover;will-change:transform;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.project-skin:hover .skin-preview img,.project-teacher:hover .teacher-preview img{transform:scale(1.035)}.skin-preview:after{content:"";background:linear-gradient(#0000,#17100b47);position:absolute;inset:50% 0 0}.smart-preview{color:#fff;background:radial-gradient(circle at 50% 32%,#8cc63f30,#0000 33%),#0c0e0c;flex-direction:column;justify-content:center;align-items:center;display:flex}.smart-preview:before{content:"";opacity:.26;background-image:linear-gradient(#8cc63f33 1px,#0000 1px),linear-gradient(90deg,#8cc63f33 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 72%);mask-image:radial-gradient(circle,#000,#0000 72%)}.smart-preview>img,.smart-preview>strong,.smart-preview>small{z-index:2;position:relative}.smart-preview>img{width:min(38%,150px);height:auto;margin-bottom:21px}.smart-preview>strong{letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(30px,3.6vw,52px);line-height:.9}.smart-preview>strong em{color:#8cc63f;font-style:normal}.smart-preview>small{color:#ffffff8a;font-family:var(--font-geist-mono), monospace;letter-spacing:.065em;text-transform:uppercase;margin-top:14px;font-size:7px}.smart-circuit{aspect-ratio:1;border:1px solid #8cc63f2e;border-radius:50%;width:54%;position:absolute;box-shadow:0 0 0 28px #8cc63f09,0 0 0 56px #8cc63f06}.project-info{justify-content:space-between;align-items:flex-end;gap:18px;min-height:138px;padding:20px 21px 20px 24px;display:flex}.project-number{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;color:var(--orange-deep);margin-bottom:8px;font-size:7px;display:block}.project-info h3{letter-spacing:-.05em;margin:0;font-size:clamp(24px,2.2vw,35px);font-weight:560;line-height:1}.project-info p{max-width:490px;color:rgb(from var(--ink) r g b / .58);margin:9px 0 0;font-size:11px;line-height:1.4}.project-open{background:var(--orange);color:#fff;width:43px;height:43px;box-shadow:0 4px 0 var(--orange-deep);border-radius:13px;flex:none;place-items:center;font-size:20px;transition:transform .18s,box-shadow .18s;display:grid}.project-open svg{width:21px;height:21px}.project-card:hover .project-open,.project-card:focus-visible .project-open{box-shadow:0 1px 0 var(--orange-deep);transform:translateY(3px)}.project-soon{background:rgb(from var(--surface) r g b / .62);border-radius:24px;flex-direction:column;grid-area:5/9/9/13;justify-content:space-between;align-items:flex-start;gap:24px;min-height:118px;padding:26px;display:flex}.project-soon>div{gap:12px;display:grid}.project-soon .soon-button{align-self:flex-end}.project-soon>div>span,.project-soon small{font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .46);font-size:7px}.project-soon>div>span{color:var(--orange-deep)}.project-soon strong{letter-spacing:-.04em;font-size:clamp(18px,1.7vw,25px);font-weight:560}.soon-button{background:var(--key-face);width:58px;height:58px;color:var(--orange);box-shadow:0 5px 0 var(--key-wall-deep), 0 13px 25px rgb(from var(--shadow-tint) r g b / .12);border-radius:17px;flex:none;place-items:center;font-size:27px;transition:transform .18s,box-shadow .18s;display:grid}.project-soon:hover .soon-button{box-shadow:0 2px 0 var(--key-wall-deep), 0 7px 14px rgb(from var(--shadow-tint) r g b / .1);transform:translateY(3px)}.contacts{background:0 0;border-radius:0;flex-direction:column;width:min(100% - 48px,1520px);min-height:820px;margin:28px auto 24px;padding:clamp(62px,6vw,92px) clamp(32px,5.5vw,84px) 26px;display:flex;position:relative;overflow:hidden}.contact-grid{display:none}.contacts-heading,.contact-keys,.contact-footer{z-index:1;position:relative}.contacts-heading{grid-template-columns:minmax(150px,.28fr) 1fr;align-items:start;gap:40px;display:grid}.contacts-label{font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .53);align-items:center;gap:11px;margin:8px 0 0;font-size:9px;display:flex}.contacts-label span{border:1px solid rgb(from var(--ink) r g b / .16);width:31px;height:31px;color:var(--orange-deep);border-radius:9px;place-items:center;display:grid}.contacts h2{letter-spacing:-.07em;flex-direction:column;max-width:860px;margin:0;font-size:clamp(52px,5.7vw,88px);font-weight:500;line-height:.91;display:flex}.contacts h2 span{white-space:nowrap}.contacts h2 em{color:var(--orange);font-family:Georgia,Times New Roman,serif;font-weight:400}.contacts-heading>div>p{max-width:620px;color:rgb(from var(--ink) r g b / .61);letter-spacing:-.02em;margin:27px 0 0;font-size:15px;line-height:1.55}.contact-keys{perspective:1300px;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,38px);width:min(100%,1110px);margin:clamp(54px,6vw,88px) auto 84px;display:grid}.contact-item{min-width:0;color:var(--ink);outline:none;flex-direction:column;gap:31px;display:flex}.contact-item:first-child{transform:translateY(14px)}.contact-item:nth-child(2){transform:translateY(-12px)}.contact-item:nth-child(3){transform:translateY(18px)}.contact-key{aspect-ratio:1.22;width:100%;min-width:0;display:block;position:relative}.contact-key canvas{display:block;width:100%!important;height:100%!important}.contact-caption{flex-direction:column;gap:7px;min-width:0;padding:0 7px;display:flex;position:relative}.contact-caption small{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .5);font-size:8px}.contact-caption strong{letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;padding-right:42px;font-size:clamp(19px,1.7vw,27px);font-weight:560;overflow:hidden}.contact-caption i{border:1px solid rgb(from var(--ink) r g b / .18);border-radius:10px;place-items:center;width:32px;height:32px;font-size:15px;font-style:normal;transition:background-color .18s,color .18s,transform .18s;display:grid;position:absolute;bottom:0;right:6px}.contact-caption i svg{width:16px;height:16px}.contact-item:hover .contact-caption i,.contact-item:focus-visible .contact-caption i{background:var(--ink);color:var(--paper);transform:rotate(8deg)}.contact-footer{border-top:1px solid rgb(from var(--ink) r g b / .15);min-height:58px;font-family:var(--font-geist-mono), monospace;letter-spacing:.075em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .53);grid-template-columns:1fr auto 1fr;align-items:center;margin-top:auto;font-size:8px;display:grid}.contact-footer span:nth-child(2){justify-self:center}.contact-footer a{color:var(--ink);justify-self:end;align-items:center;gap:9px;display:flex}.contact-footer i{border:1px solid rgb(from var(--ink) r g b / .18);border-radius:8px;place-items:center;width:25px;height:25px;font-style:normal;display:grid}@media (width<=1160px){.service-board{grid-template-columns:repeat(2,1fr)}.service-ghost{font-size:168px}.project-teacher{grid-area:5/1/9/13}.project-soon{flex-direction:row;grid-area:9/1/10/13;align-items:center;padding:21px 24px}.project-soon>div{grid-template-columns:92px minmax(200px,auto) 1fr;align-items:center;gap:24px}.project-soon .soon-button{align-self:center}.center-copy{width:min(700px,66vw)}h1{font-size:clamp(60px,7.1vw,84px)}.webgl-stage{width:100vw}.about-grid{grid-template-columns:minmax(260px,.7fr) 1.4fr}.profile-card{min-height:620px}.experience-item{grid-template-columns:48px 1fr}}@media (width<=860px){.topbar,.hero,.faq,.projects,.services,.contacts{width:min(100% - 28px,720px)}.topbar{grid-template-columns:1fr auto;height:70px}.nav-links{display:none}.hero{min-height:calc(100svh - 70px)}.intro-line{height:56px}.hero-stage{min-height:720px}.center-copy{width:min(620px,76vw)}h1{font-size:clamp(54px,9.5vw,76px)}.webgl-stage{width:100vw}.about{width:min(100% - 28px,720px);padding:48px 28px}.about-heading{grid-template-columns:1fr;gap:28px}.about h2{font-size:clamp(50px,9vw,70px)}.about-grid{grid-template-columns:1fr}.profile-card{min-height:620px}.slide,.slide:not(.is-active){transform:translateX(calc(var(--offset) * 190px)) scale(var(--scale,.78))}.slide.is-active{--scale:1}.carousel-stage{height:380px}.faq,.projects,.services{padding:52px 28px 72px}.faq-list{grid-template-columns:1fr}.faq-column+.faq-column .faq-item:first-child{border-top:1px solid rgb(from var(--ink) r g b / .14)}.faq-heading,.projects-heading,.services-heading{grid-template-columns:1fr;gap:28px}.faq h2,.projects h2,.services h2{font-size:clamp(48px,9vw,68px)}.project-board{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.project-skin,.project-smart,.project-teacher{grid-area:auto/1/auto/-1}.project-teacher{min-height:470px}.project-skin{min-height:560px}.project-smart{min-height:470px}.project-soon{flex-direction:row;grid-area:auto/1/auto/-1;align-items:center;min-height:132px}.project-soon>div{grid-template-columns:78px minmax(220px,auto) 1fr;align-items:center;gap:18px}.project-soon .soon-button{align-self:center}.contacts{min-height:auto;padding:52px 28px 24px}.contacts-heading{grid-template-columns:1fr;gap:28px}.contacts h2{font-size:clamp(48px,9vw,68px)}.contact-keys{gap:16px;margin-block:64px 74px}.contact-item{gap:24px}.contact-caption strong{font-size:16px}}@media (width<=599px){.site-shell{overflow:hidden}.topbar,.hero{width:calc(100% - 24px)}.brand-role{display:none}.brand-name{font-size:14px}.brand-key{width:34px;height:34px}.contact-link{min-height:36px;padding:0 13px;font-size:10px}.contact-link span,.intro-line{display:none}.hero-stage{flex-direction:column;min-height:auto;padding:16px 0 30px;display:flex}.center-copy{order:1;width:100%;padding:24px 0 22px}.kicker{margin-bottom:19px;font-size:7px}h1{font-size:clamp(46px,14.6vw,64px);line-height:.89}h1 span{white-space:normal}.description{max-width:365px;margin-top:19px;padding:0 8px}.actions{gap:17px;margin-top:24px}.primary-action{gap:18px;min-height:49px;padding-left:17px}.webgl-stage{order:2;width:calc(100% + 24px);height:288px;margin-left:-12px;position:relative;inset:auto;transform:none}.webgl-stage:after{background:linear-gradient(90deg, var(--stage-fade), transparent 7%, transparent 93%, var(--stage-fade))}.key-popup{width:calc(100% - 24px);bottom:max(12px, env(safe-area-inset-bottom))}.popup-number{min-width:50px}.popup-content{padding:11px 10px 12px}.popup-heading{gap:8px}.popup-heading>span{display:block}.popup-heading em{margin-top:2px;display:block}.popup-description{margin-block:6px 8px;font-size:8px}.popup-heading a{display:none}.key-popup button{width:28px;height:28px;margin-right:6px}.about{margin-inline:0;border-radius:24px;width:100%;margin-top:10px;padding:38px 16px 24px}.section-label{margin-top:0}.about h2{font-size:clamp(42px,12vw,58px)}.about h2 span{white-space:normal}.about-lead{margin-top:22px;font-size:14px}.about-grid{gap:16px;margin-top:36px}.profile-card{border-radius:20px;min-height:460px}.profile-card figcaption{inset:auto 18px 18px}.career-stats{grid-template-columns:1fr}.career-stats article{min-height:118px}.experience-item{grid-template-columns:46px 1fr;gap:11px;min-height:auto;padding:19px 16px}.experience-item time{top:21px;right:16px}.company-logo{grid-column:1}.experience-copy{grid-column:2;padding-right:66px}.faq,.projects,.services{width:calc(100% - 16px);padding:42px 16px 58px}.contacts{width:calc(100% - 16px);margin-top:10px;padding:42px 16px 18px}.contacts h2{font-size:clamp(42px,12vw,58px)}.contacts h2 span{white-space:normal}.contacts-heading>div>p{margin-top:21px;font-size:14px}.contact-keys{grid-template-columns:1fr;gap:0;width:100%;margin-block:40px 58px}.contact-item{grid-template-columns:minmax(112px,34vw) minmax(0,1fr);align-items:center;gap:14px;min-height:142px;padding:13px 0;display:grid}.contact-item+.contact-item{border-top:1px solid rgb(from var(--ink) r g b / .13)}.contact-key{aspect-ratio:1.18;width:100%}.contact-item:first-child,.contact-item:nth-child(2),.contact-item:nth-child(3){transform:rotate(0)translateY(0)}.contact-caption strong{padding-right:36px;font-size:clamp(16px,5vw,19px)}.contact-caption i{width:29px;height:29px;right:0}.contact-footer{grid-template-columns:1fr auto;min-height:76px}.contact-footer span:nth-child(2){display:none}.faq h2,.projects h2,.services h2{font-size:clamp(40px,11.8vw,56px)}.faq h2 span,.projects h2 span,.services h2 span{white-space:normal}.faq-heading>div>p,.projects-heading>div>p,.services-heading>div>p{margin-top:21px;font-size:14px}.service-board{grid-template-columns:1fr;gap:13px;margin-top:38px}.faq-list{margin-top:34px}.faq-item summary{padding:21px 48px 21px 2px}.faq-item summary i{width:29px;height:29px;top:18px;right:2px}.faq-item p{padding:0 2px 22px;font-size:14px}.service-card{--lift:7px;gap:18px;min-height:0;padding:20px 18px 78px}.service-card.is-pressed{--lift:2px;--rise:4px}.service-ghost{font-size:104px;bottom:-26px;right:-2px}.service-cta{padding-top:13px;inset:auto 18px 17px}.project-board{grid-template-columns:1fr;gap:13px;margin-top:38px}.project-skin,.project-smart,.project-teacher,.project-soon{grid-column:1}.project-teacher{min-height:420px}.project-skin{min-height:500px}.project-smart{min-height:440px}.project-info{min-height:145px;padding-inline:18px}.project-info p{font-size:10px}.project-soon{min-height:164px;padding:18px}.project-soon>div{grid-template-columns:1fr;gap:7px}.project-soon small{line-height:1.45}.soon-button{width:50px;height:50px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.service-card{--rx:0deg!important;--ry:0deg!important;--rise:0px!important}.service-ghost{transform:none!important}}.case-page{--case-accent:var(--orange);--case-accent-ink:var(--orange-deep);--case-accent-shadow:var(--orange-deep);--case-tint:rgb(from var(--orange) r g b / .1);--case-glow:rgb(from var(--orange) r g b / .2);--shell-warm:rgb(from var(--case-accent) r g b / .15)}.case-page[data-case=skin]{--case-accent:var(--lightningcss-light,#6c47ff)var(--lightningcss-dark,#6f52ea);--case-accent-ink:var(--lightningcss-light,#5127d4)var(--lightningcss-dark,#b7a4ff);--case-accent-shadow:var(--lightningcss-light,#3d1fae)var(--lightningcss-dark,#33227f);--case-tint:var(--lightningcss-light,#6c47ff17)var(--lightningcss-dark,#8f74ff21);--case-glow:var(--lightningcss-light,#6c47ff33)var(--lightningcss-dark,#785cff2b);--shell-warm:var(--lightningcss-light,#6c47ff29)var(--lightningcss-dark,#7e64ff17);--shell-c:var(--lightningcss-light,#f1ecfa)var(--lightningcss-dark,#15131c)}.case-page .primary-action{background:var(--case-accent);box-shadow:0 5px 0 var(--case-accent-shadow), 0 14px 31px rgb(from var(--case-accent) r g b / .24)}.case-hero{grid-template-columns:minmax(0,1.2fr) minmax(260px,.62fr);align-items:end;gap:clamp(28px,4vw,64px);width:min(100% - 48px,1520px);margin:0 auto;padding:clamp(48px,6vw,96px) clamp(32px,5.5vw,84px) clamp(20px,3vw,40px);display:grid;position:relative}.case-glow{z-index:0;pointer-events:none;background:radial-gradient(42vw 58% at calc(50% - 420px) 40%, var(--case-glow), transparent 70%);width:100vw;position:absolute;top:-10%;bottom:30%;left:50%;transform:translate(-50%)}.case-hero-copy,.case-facts,.case-cover{z-index:1;position:relative}.case-kicker{border:1px solid rgb(from var(--case-accent-ink) r g b / .34);background:var(--case-tint);color:var(--case-accent-ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;margin:0 0 22px;padding:7px 13px;font-size:9px;display:inline-flex}.case-hero h1{letter-spacing:-.062em;margin:0;font-size:clamp(52px,7.4vw,118px);font-weight:500;line-height:.9}.case-hero-lead{max-width:620px;color:rgb(from var(--ink) r g b / .63);letter-spacing:-.02em;margin:26px 0 0;font-size:16px;line-height:1.55}.case-hero .actions{margin-top:34px}.case-facts{background:var(--line);border:1px solid var(--line);border-radius:16px;gap:1px;margin:0;display:grid;overflow:hidden}.case-facts>div{background:var(--surface);grid-template-columns:minmax(88px,.42fr) 1fr;gap:14px;padding:15px 18px;display:grid}.case-facts dt{color:rgb(from var(--ink) r g b / .5);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;font-size:9px}.case-facts dd{letter-spacing:-.015em;margin:0;font-size:13px;font-weight:520}.case-cover{aspect-ratio:16/8.4;border:1px solid var(--line);background:var(--surface-sunk);box-shadow:0 32px 70px rgb(from var(--shadow-tint) r g b / .14);border-radius:24px;grid-column:1/-1;margin:clamp(30px,4vw,58px) 0 0;position:relative;overflow:hidden}.case-cover img{object-fit:cover;object-position:top center;width:100%;height:100%}.case-section{width:min(100% - 48px,1520px);margin:0 auto;padding:clamp(58px,6vw,104px) clamp(32px,5.5vw,84px) 0;position:relative}.case-heading{grid-template-columns:minmax(150px,.28fr) 1fr;align-items:start;gap:40px;display:grid}.case-label{font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(from var(--ink) r g b / .53);align-items:center;gap:11px;margin:8px 0 0;font-size:9px;display:flex}.case-label span{border:1px solid rgb(from var(--case-accent-ink) r g b / .3);width:31px;height:31px;color:var(--case-accent-ink);border-radius:9px;place-items:center;display:grid}.case-heading h2{letter-spacing:-.055em;max-width:900px;margin:0;font-size:clamp(36px,4.3vw,66px);font-weight:500;line-height:.96}.case-heading>div>p{max-width:620px;color:rgb(from var(--ink) r g b / .61);letter-spacing:-.02em;margin:24px 0 0;font-size:15px;line-height:1.55}.case-body{grid-template-columns:minmax(150px,.28fr) 1fr;gap:40px;margin-top:clamp(34px,4vw,58px);display:grid}.case-body>*{grid-column:2}.case-tabs{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.case-tab{min-height:38px;color:rgb(from var(--ink) r g b / .6);letter-spacing:-.01em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 20px;font-size:12px;font-weight:560;transition:background .18s,color .18s}.case-tab[aria-selected=true]{background:var(--case-accent);color:#fff}.case-panel{margin-top:26px}.case-panel h3{letter-spacing:-.03em;margin:0 0 20px;font-size:19px;font-weight:540}.case-panel ol{counter-reset:audience;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none;display:grid}.case-panel li{border:1px solid var(--line);background:var(--surface);counter-increment:audience;border-radius:18px;padding:22px 22px 24px}.case-panel li:before{content:counter(audience, decimal-leading-zero);color:var(--case-accent-ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;margin-bottom:14px;font-size:9px;display:block}.case-panel li strong{letter-spacing:-.025em;margin-bottom:8px;font-size:15px;font-weight:560;display:block}.case-panel li p{color:rgb(from var(--ink) r g b / .62);letter-spacing:-.015em;margin:0;font-size:13.5px;line-height:1.55}.case-aside{border-left:2px solid var(--case-accent-ink);background:var(--case-tint);max-width:720px;color:rgb(from var(--ink) r g b / .72);letter-spacing:-.015em;border-radius:0 12px 12px 0;margin:28px 0 0;padding:18px 22px;font-size:14px;line-height:1.6}.case-points{background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:1px;margin:0;padding:0;list-style:none;display:grid}.case-points li{background:var(--paper);letter-spacing:-.02em;padding:20px 4px 20px 34px;font-size:15.5px;line-height:1.5;position:relative}.case-points li:before{content:"";background:var(--case-accent-ink);border-radius:3px;width:8px;height:8px;position:absolute;top:27px;left:6px}.case-cards{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.case-card{border:1px solid var(--line);background:var(--surface-raised);box-shadow:0 14px 34px rgb(from var(--shadow-tint) r g b / .06);border-radius:20px;padding:26px 26px 30px}.case-card-icon{border:1px solid rgb(from var(--case-accent-ink) r g b / .28);background:var(--case-tint);width:42px;height:42px;color:var(--case-accent-ink);border-radius:13px;place-items:center;margin-bottom:18px;transition:transform .22s,border-color .22s;display:grid}.case-card-icon svg{width:21px;height:21px}.case-card:hover .case-card-icon{border-color:rgb(from var(--case-accent-ink) r g b / .55);transform:translateY(-2px)}.case-card h3{letter-spacing:-.032em;margin:0 0 10px;font-size:19px;font-weight:540}.case-card p{color:rgb(from var(--ink) r g b / .62);letter-spacing:-.017em;margin:0;font-size:14px;line-height:1.58}.case-steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.case-steps li{border-top:1px solid var(--line);grid-template-columns:76px 1fr;gap:20px;padding:26px 0;display:grid}.case-steps li:last-child{border-bottom:1px solid var(--line)}.case-steps li>span{color:var(--case-accent-ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:11px}.case-steps h3{letter-spacing:-.034em;margin:0 0 8px;font-size:20px;font-weight:540}.case-steps p{max-width:680px;color:rgb(from var(--ink) r g b / .62);letter-spacing:-.018em;margin:0;font-size:14.5px;line-height:1.58}.case-gallery{max-width:1000px}.case-gallery-viewport{aspect-ratio:16/9.6;background:var(--surface-sunk);border:1px solid var(--line);touch-action:pan-y;cursor:grab;border-radius:22px;overflow:hidden}.case-gallery-viewport:active{cursor:grabbing}.case-gallery-track{height:100%;transition:transform .48s cubic-bezier(.32,.08,.24,1);display:flex}.case-gallery-slide{flex:0 0 100%;place-items:center;height:100%;padding:14px;display:grid}.case-shot-frame{background:var(--surface-sunk);border-radius:16px;max-width:100%;max-height:100%;position:relative;overflow:hidden}.case-shot-browser{width:100%;height:100%}.case-shot-phone{aspect-ratio:9/18;border:1px solid var(--line);border-radius:30px;height:100%}.case-shot-frame img{object-fit:cover;object-position:top center;width:100%;height:100%}.case-shot-empty{border:1px dashed rgb(from var(--case-accent-ink) r g b / .42);background:var(--case-tint);text-align:center;border-radius:14px;align-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:12px}.case-shot-empty b{letter-spacing:-.02em;font-size:14px;font-weight:540}.case-shot-empty code{color:var(--case-accent-ink);font-family:var(--font-geist-mono), monospace;font-size:11px}.case-gallery-bar{align-items:center;gap:14px;margin-top:18px;display:flex}.case-gallery-arrow{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:rgb(from var(--ink) r g b / .7);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:15px;transition:border-color .17s,color .17s,transform .17s;display:grid}.case-gallery-arrow:hover{border-color:var(--case-accent-ink);color:var(--case-accent-ink);transform:translateY(-1px)}.case-gallery-count{color:rgb(from var(--ink) r g b / .5);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;font-size:10px}.case-gallery-dots{align-items:center;gap:7px;margin-left:auto;display:flex}.case-gallery-dot{background:rgb(from var(--ink) r g b / .2);cursor:pointer;border:0;border-radius:999px;width:9px;height:9px;padding:0;transition:background .2s,width .2s}.case-gallery-dot[aria-current=true]{background:var(--case-accent-ink);width:24px}.case-gallery-caption{max-width:640px;color:rgb(from var(--ink) r g b / .6);letter-spacing:-.015em;margin:16px 0 0;font-size:14px;line-height:1.55}.case-stack{gap:14px;max-width:860px;margin:0;padding:0 0 0 36px;list-style:none;display:grid;position:relative}.case-stack:before{content:"";background:linear-gradient(to bottom, rgb(from var(--case-accent-ink) r g b / .5), rgb(from var(--case-accent-ink) r g b / .08));border-radius:2px;width:2px;position:absolute;top:18px;bottom:18px;left:11px}.case-stack:after{content:"";background:var(--case-accent-ink);width:10px;height:10px;box-shadow:0 0 12px rgb(from var(--case-accent-ink) r g b / .6);border-radius:999px;animation:3.6s cubic-bezier(.5,0,.5,1) infinite case-rail;position:absolute;top:18px;left:7px}@keyframes case-rail{0%{opacity:0;top:18px}12%{opacity:1}82%{opacity:1}to{opacity:0;top:calc(100% - 28px)}}.case-layer{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:24px 26px 26px;transition:border-color .2s;position:relative}.case-layer:hover{border-color:rgb(from var(--case-accent-ink) r g b / .4)}.case-layer:before{content:"";background:var(--paper);border:2px solid var(--case-accent-ink);border-radius:999px;width:10px;height:10px;position:absolute;top:32px;left:-30px}.case-layer-head{grid-template-columns:minmax(96px,.2fr) 1fr;align-items:baseline;gap:20px;display:grid}.case-layer-name{color:var(--case-accent-ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;text-transform:uppercase;font-size:10px}.case-layer-head p{color:rgb(from var(--ink) r g b / .66);letter-spacing:-.018em;margin:0;font-size:14.5px;line-height:1.55}.case-layer-items{flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0 0 0 116px;list-style:none;display:flex}.case-layer-items li{border:1px solid var(--line);background:var(--surface-raised);border-radius:14px;align-items:center;gap:11px;padding:10px 16px 10px 12px;transition:transform .2s,border-color .2s;display:flex}.case-layer-items li:hover{border-color:rgb(from var(--case-accent-ink) r g b / .45);transform:translateY(-2px)}.case-layer-items img{object-fit:contain;width:24px;height:24px}.case-layer-items span{display:grid}.case-layer-items strong{letter-spacing:-.025em;font-size:13.5px;font-weight:560}.case-layer-items small{color:rgb(from var(--ink) r g b / .55);letter-spacing:-.01em;font-size:11.5px}.case-result-points li{font-size:15px}.case-note{color:rgb(from var(--ink) r g b / .5);font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;margin:20px 0 0;font-size:11px}.case-next{border:1px solid rgb(from var(--case-accent-ink) r g b / .26);background:var(--case-tint);text-align:center;border-radius:28px;width:min(100% - 48px,1520px);margin:clamp(64px,7vw,116px) auto 0;padding:clamp(48px,6vw,88px) clamp(32px,5.5vw,84px)}.case-next h2{letter-spacing:-.05em;margin:0;font-size:clamp(32px,3.6vw,54px);font-weight:500;line-height:1}.case-next p{max-width:520px;color:rgb(from var(--ink) r g b / .63);letter-spacing:-.02em;margin:18px auto 0;font-size:15px;line-height:1.55}.case-next .actions{justify-content:center;gap:12px;margin-top:32px;display:flex}@media (width<=1160px){.case-hero{grid-template-columns:1fr;align-items:start}.case-panel ol{grid-template-columns:1fr}.case-heading,.case-body{grid-template-columns:1fr;gap:24px}.case-body>*{grid-column:1}}@media (width<=860px){.case-cards{grid-template-columns:1fr}.case-steps li{grid-template-columns:52px 1fr;gap:12px}.case-layer-head{grid-template-columns:1fr;gap:8px}.case-layer-items{padding-left:0}}@media (width<=599px){.case-hero,.case-section,.case-next{width:min(100% - 28px,1520px);padding-left:22px;padding-right:22px}.case-hero .actions,.case-next .actions{flex-wrap:wrap}}.case-points li:nth-child(2),.case-cards .case-card:nth-child(2),.case-steps li:nth-child(2),.case-stack li:nth-child(2){--reveal:1}.case-points li:nth-child(3),.case-cards .case-card:nth-child(3),.case-steps li:nth-child(3),.case-stack li:nth-child(3){--reveal:2}.case-points li:nth-child(4),.case-cards .case-card:nth-child(4),.case-steps li:nth-child(4),.case-stack li:nth-child(4){--reveal:3}.case-stack li:nth-child(5){--reveal:4}.case-page .contacts-label span{border-color:rgb(from var(--case-accent-ink) r g b / .3);color:var(--case-accent-ink)}.case-page .contacts h2 em{color:var(--case-accent-ink)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
