*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Space Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.resize{resize:both}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg: #0c0c0e;--surface: #111114;--border: #1e1e24;--border2: #2a2a34;--muted: #3a3a48;--fg-dim: #6b6b80;--fg: #b8b8cc;--fg-strong: #ececf4;--accent: #ececf4;--accent-inv: #0c0c0e;--tag-bg: #18181e;--card-bg: #111114;--grid-color: rgba(255,255,255,.032);--radius: 8px;--tr: .25s ease;--nav-h: 60px;--accent-2: #22d3ee;--accent-2-dim: rgba(34,211,238,.14);--accent-2-ink: #062329;--cat-data: #22d3ee;--cat-viz: #a78bfa;--cat-web: #4ade80;--glow-color: rgba(34,211,238,.3);--gradient-start: #22d3ee;--gradient-middle: #a78bfa;--gradient-end: #f472b6}[data-theme=light]{--bg: #f5f5f2;--surface: #ffffff;--border: #e2e2dc;--border2: #d0d0c8;--muted: #b0b0a8;--fg-dim: #888880;--fg: #3a3a36;--fg-strong: #111110;--accent: #111110;--accent-inv: #f5f5f2;--tag-bg: #eaeae6;--card-bg: #ffffff;--grid-color: rgba(0,0,0,.05);--accent-2: #0e7490;--accent-2-dim: rgba(14,116,144,.1);--accent-2-ink: #f0fbfd;--glow-color: rgba(14,116,144,.2);--gradient-start: #0e7490;--gradient-middle: #7c3aed;--gradient-end: #db2777}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{font-family:Roboto Slab,serif;background:var(--bg);color:var(--fg);line-height:1.65;transition:background var(--tr),color var(--tr);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit}:focus{outline:none}a:focus-visible,button:focus-visible,li:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:4px}.grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:48px 48px;transition:background-image var(--tr)}.grid-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 60%,var(--bg) 100%)}.hero-grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.3;background-image:linear-gradient(rgba(34,211,238,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.05) 1px,transparent 1px),linear-gradient(rgba(34,211,238,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.03) 1px,transparent 1px);background-size:40px 40px,40px 40px,20px 20px,20px 20px;background-position:0 0,0 0,10px 10px,10px 10px;animation:gridMove 20s linear infinite}[data-theme=light] .hero-grid-bg{opacity:.15}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(40px,40px)}}.dashboard-preview{position:relative;border-radius:6px;overflow:hidden;margin-bottom:1rem;border:1px solid var(--border);background:var(--surface);cursor:pointer;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;padding:.5rem}.skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--border) 25%,var(--surface) 50%,var(--border) 75%);background-size:200% 100%;animation:skeletonLoading 1.5s ease-in-out infinite;border-radius:6px}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-preview img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:3px;display:block;transition:transform .3s ease;position:relative;z-index:1}.dashboard-preview img.loaded{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.dashboard-preview:hover img{transform:scale(1.03)}.dashboard-preview .preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff;font-size:.8rem;font-weight:500;gap:.5rem;z-index:2}.dashboard-preview:hover .preview-overlay{opacity:1}.preview-overlay svg{width:16px;height:16px}.gradient-text{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-middle),var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientMove 4s ease-in-out infinite}@keyframes gradientMove{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,3.5rem);background:var(--bg);border-bottom:1px solid var(--border);transition:background var(--tr),border-color var(--tr)}.nav-logo{font-family:Space Mono,monospace;font-size:1.2rem;letter-spacing:.02em;color:var(--fg-strong);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:700}.nav-logo span{color:var(--accent-2)}.nav-links{display:flex;align-items:center;gap:1.75rem;list-style:none;font-size:.84rem;color:var(--fg-dim)}.nav-links li{cursor:pointer;transition:color .15s;position:relative;padding-bottom:2px}.nav-links li:hover{color:var(--fg-strong)}.nav-links li:after{content:"";position:absolute;left:0;right:0;bottom:-19px;height:2px;background:var(--accent-2);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-links li.active{color:var(--fg-strong)}.nav-links li.active:after{transform:scaleX(1)}.nav-links li.cv-pill{color:var(--accent-2-ink);background:linear-gradient(135deg,var(--gradient-start),var(--gradient-middle));border:1px solid transparent;padding:.3rem .9rem;border-radius:var(--radius);transition:all .2s ease;display:flex;align-items:center;gap:.4rem;box-shadow:0 4px 18px -4px var(--glow-color);font-weight:600}.nav-links li.cv-pill:after{display:none}.nav-links li.cv-pill:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 24px -4px var(--glow-color)}.nav-links li.cv-pill svg{width:14px;height:14px}.nav-right{display:flex;align-items:center;gap:.6rem}.icon-btn{background:none;border:1px solid var(--border);color:var(--fg-dim);width:38px;height:38px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:color .15s,border-color .15s,background .15s}.icon-btn:hover{color:var(--fg-strong);border-color:var(--border2)}.icon-btn svg{width:16px;height:16px}.theme-icon{display:inline-flex;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.theme-icon:hover{transform:rotate(180deg) scale(1.15)}.cv-mobile-btn{display:none}@media (max-width:768px){.cv-mobile-btn{display:flex;color:var(--accent-2);border-color:var(--accent-2-dim);background:var(--accent-2-dim)}}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;border-radius:var(--radius);border:1px solid var(--border);background:none;transition:border-color .2s ease,background .2s ease}.hamburger:hover{border-color:var(--border2);background:var(--accent-2-dim)}.hamburger span{display:block;width:18px;height:2px;background:var(--fg);border-radius:2px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s,background .2s,width .2s}.hamburger:hover span{background:var(--accent-2)}.hamburger.active{border-color:var(--accent-2);background:var(--accent-2-dim)}.mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:190;background:var(--bg);flex-direction:column;padding:2rem clamp(1.25rem,5vw,3.5rem);gap:.25rem;transform:translate(100%);transition:transform .3s ease}.mobile-menu.open{transform:translate(0)}.mobile-menu a{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0;border-bottom:1px solid var(--border);font-size:1.4rem;font-weight:600;color:var(--fg-strong);opacity:0;transform:translate(20px);transition:opacity .3s ease,transform .3s ease,color .15s}.mobile-menu a:last-child{border-bottom:none}.mobile-menu.open a{opacity:1;transform:translate(0)}.mobile-menu.open a:nth-child(1){transition-delay:.05s}.mobile-menu.open a:nth-child(2){transition-delay:.1s}.mobile-menu.open a:nth-child(3){transition-delay:.15s}.mobile-menu.open a:nth-child(4){transition-delay:.2s}.mobile-menu.open a:nth-child(5){transition-delay:.25s}.mobile-menu.open a:nth-child(6){transition-delay:.3s}.mobile-menu a:hover{color:var(--fg-dim)}.menu-arrow{color:var(--fg-dim);display:inline-flex}.menu-arrow svg{width:16px;height:16px}.mobile-cv-btn{margin-top:1.5rem;display:flex!important;align-items:center;justify-content:center;gap:.5rem;background:var(--accent-2);color:var(--accent-2-ink)!important;border:none!important;border-radius:var(--radius);font-size:.9rem!important;font-weight:600!important;padding:.9rem 1rem!important}.mobile-cv-btn svg{width:16px;height:16px}.mobile-socials{margin-top:auto;display:flex;gap:1.25rem;padding-top:2rem}.mobile-socials a{border:none!important;font-size:.85rem!important;font-weight:400!important;color:var(--fg-dim)!important;padding:0!important;opacity:0;transform:none!important;display:inline-flex!important;align-items:center;gap:.4rem;transition:color .15s,opacity .3s .35s ease!important}.mobile-socials a svg{width:15px;height:15px}.mobile-menu.open .mobile-socials a{opacity:1!important}.mobile-socials a:hover{color:var(--fg-strong)!important}.hamburger.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.page{position:relative;z-index:1}.container{max-width:1080px;margin:0 auto;padding:clamp(5rem,12vw,8rem) clamp(1.25rem,5vw,3.5rem)}.container.first{padding-top:calc(var(--nav-h) + clamp(3rem,8vw,5rem))}.divider{height:1px;background:var(--border);max-width:1080px;margin:0 auto}.eyebrow{font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.eyebrow:after{content:"";width:40px;height:1px;background:var(--border2)}h2{font-size:clamp(1.7rem,4vw,2.6rem);color:var(--fg-strong);font-weight:700;line-height:1.15;letter-spacing:-.02em}p.lead{color:var(--fg-dim);font-size:.95rem;line-height:1.8;max-width:560px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.reveal.up{opacity:1;transform:translateY(0)}#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;opacity:.32}.hero-orb.one{width:440px;height:440px;background:var(--gradient-start);top:-140px;left:-120px;animation:orbFloat 13s ease-in-out infinite}.hero-orb.two{width:380px;height:380px;background:var(--gradient-end);bottom:-160px;right:-100px;animation:orbFloat 16s ease-in-out infinite reverse}[data-theme=light] .hero-orb{opacity:.16}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-24px) scale(1.08)}}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}.hero-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:1.4rem;padding:.4rem .85rem;border:1px solid var(--border2);border-radius:999px;background:var(--card-bg);animation:fadeUp .55s .1s both}.hero-eyebrow .pulse-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:blink 2s infinite}.hero-greeting{font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:300;color:var(--fg-dim);margin-bottom:.25rem;animation:fadeUp .55s .15s both}.hero-name{font-size:clamp(3rem,7vw,5rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--fg-strong);margin-bottom:.5rem;animation:fadeUp .55s .2s both}.hero-name .highlight{color:var(--accent-2);text-shadow:0 0 30px var(--glow-color)}.hero-title{font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:300;color:var(--fg-dim);margin-bottom:1rem;min-height:2.8rem;animation:fadeUp .55s .25s both}.hero-title .typing-cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent-2);margin-left:4px;vertical-align:text-bottom;animation:blink .8s step-end infinite}.hero-title .glow-text{color:var(--accent-2);text-shadow:0 0 20px var(--glow-color),0 0 60px var(--glow-color);animation:glowPulse 2.5s ease-in-out infinite}@keyframes glowPulse{0%,to{text-shadow:0 0 20px var(--glow-color),0 0 60px var(--glow-color)}50%{text-shadow:0 0 30px var(--glow-color),0 0 80px var(--glow-color),0 0 120px var(--glow-color)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-sub{color:var(--fg-dim);font-size:1rem;line-height:1.8;max-width:480px;margin-bottom:2rem;animation:fadeUp .55s .35s both}.hero-ctas{display:flex;gap:.75rem;flex-wrap:wrap;animation:fadeUp .55s .45s both}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:320px;animation:fadeUp .6s .3s both}.hero-illustration{width:380px;max-width:100%;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35));animation:floatIllustration 6s ease-in-out infinite;position:relative;z-index:1}@keyframes floatIllustration{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes floatOrbit{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(3deg)}}.btn-primary{background:var(--accent-2);color:var(--accent-2-ink);padding:.65rem 1.5rem;border-radius:var(--radius);font-size:.86rem;font-weight:600;border:none;transition:all .15s ease;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 0 0 0 var(--accent-2-dim)}.btn-primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 30px -6px var(--accent-2-dim)}.btn-cv{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-middle) 55%,var(--gradient-end));color:#fff;padding:.7rem 1.6rem;border-radius:var(--radius);font-size:.86rem;font-weight:700;border:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:.55rem;box-shadow:0 6px 26px -6px var(--glow-color);position:relative;animation:cvPulse 2.6s ease-in-out infinite}.btn-cv:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 34px -6px var(--glow-color)}@keyframes cvPulse{0%,to{box-shadow:0 6px 26px -6px var(--glow-color)}50%{box-shadow:0 6px 30px -2px var(--glow-color)}}.btn-outline{background:none;color:var(--fg);padding:.65rem 1.3rem;border-radius:var(--radius);font-size:.86rem;font-weight:500;border:1px solid var(--border2);transition:all .15s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-outline:hover{border-color:var(--muted);color:var(--fg-strong);transform:translateY(-2px)}.view-all-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.65rem 2rem;border-radius:var(--radius);border:1px solid var(--border2);color:var(--fg);font-size:.86rem;font-weight:500;transition:all .2s ease;background:var(--card-bg)}.view-all-btn:hover{border-color:var(--accent-2);color:var(--fg-strong);transform:translateY(-2px);box-shadow:0 8px 24px -6px var(--accent-2-dim)}.view-all-btn svg{transition:transform .25s ease}.view-all-btn:hover svg{transform:translate(4px)}.hero-scroll{margin-top:5rem;display:flex;align-items:center;gap:.75rem;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.14em;color:var(--fg-dim);animation:fadeUp .55s .65s both}.scroll-arrow{display:inline-block;animation:bounceArrow 2s ease-in-out infinite}@keyframes bounceArrow{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-top:2rem}.result-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;transition:all .2s ease;cursor:default}.result-card:hover{border-color:var(--accent-2);transform:translateY(-4px);box-shadow:0 8px 30px -8px var(--accent-2-dim)}.big-number{font-size:2.2rem;font-weight:700;color:var(--accent-2);display:block;margin-bottom:.25rem;line-height:1.2;font-family:Space Mono,monospace}.result-label{font-size:.85rem;color:var(--fg-dim)}.about-grid{display:grid;grid-template-columns:3fr 2fr;gap:4rem;align-items:center;margin-top:2rem}.about-body p{color:var(--fg);font-size:.94rem;line-height:1.85;margin-bottom:1rem}.about-body p:last-child{margin-bottom:0}.about-meta{display:flex;flex-direction:column;gap:0}.meta-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--border);gap:1rem}.meta-row:last-child{border-bottom:none}.meta-key{font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);padding-top:.1rem;white-space:nowrap}.meta-val{font-size:.88rem;color:var(--fg-strong);font-weight:500;text-align:right}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4ade80;margin-right:.45rem;animation:blink 2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.skills-hint{font-size:.82rem;color:var(--fg-dim);margin-top:.5rem}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.75rem;align-items:start}.skill-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;position:relative;overflow:hidden;outline:none}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent,var(--accent-2));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.skill-card:hover,.skill-card.is-active,.skill-card:focus-visible{border-color:var(--accent,var(--border2));transform:translateY(-4px);box-shadow:0 10px 32px -10px color-mix(in srgb,var(--accent,#22d3ee) 45%,transparent)}.skill-card:hover:before,.skill-card.is-active:before,.skill-card:focus-visible:before{transform:scaleX(1)}.skill-card--featured{grid-column:span 2}.skill-card--featured .skill-icon{width:42px;height:42px}.skill-card--featured .skill-icon img{width:24px;height:24px}.skill-card--featured .skill-desc{font-size:.86rem}.skill-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}.skill-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border2);color:var(--accent-2);flex-shrink:0;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}.skill-card:hover .skill-icon,.skill-card.is-active .skill-icon{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,#22d3ee) 30%,transparent);transform:scale(1.08) rotate(-4deg)}.skill-icon svg{width:16px;height:16px}.skill-icon img{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.skill-chevron{margin-left:auto;flex-shrink:0;color:var(--fg-dim);transition:transform .3s ease,color .2s ease}.skill-card:hover .skill-chevron,.skill-card.is-active .skill-chevron{transform:rotate(180deg);color:var(--accent,var(--accent-2))}.skill-card-title{font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.skill-usage{display:flex;align-items:center;gap:.4rem;margin-top:0;padding-top:0;border-top:1px dashed var(--border);font-size:.72rem;color:var(--fg-dim);max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease,margin-top .3s ease,padding-top .3s ease}.skill-usage svg{color:var(--accent,var(--accent-2));flex-shrink:0}.skill-card:hover .skill-usage,.skill-card.is-active .skill-usage{max-height:60px;opacity:1;margin-top:.85rem;padding-top:.75rem}.skill-item{padding:.55rem 0;border-bottom:1px solid var(--border)}.skill-item:last-child{border-bottom:none}.skill-item .skill-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.skill-item .skill-info .skill-name{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--fg)}.skill-item .skill-info .skill-name svg{width:14px;height:14px;color:var(--accent-2);flex-shrink:0}.skill-item .skill-info .skill-pct{font-family:Space Mono,monospace;font-size:.65rem;color:var(--fg-dim)}.progress-track{height:6px;width:100%;border-radius:4px;background:var(--border);overflow:hidden}.progress-fill{height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,var(--accent-2),var(--cat-viz));transition:width 1.1s cubic-bezier(.22,.9,.3,1)}.reveal.up .progress-fill{width:var(--pct)}.skill-desc{font-size:.8rem;color:var(--fg-dim);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.25rem;margin-top:2rem}.project-card{position:relative;overflow:hidden;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;transition:all .2s ease}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-2);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card:hover{border-color:var(--border2);transform:translateY(-4px);box-shadow:0 12px 40px #00000059}.project-card:hover:before{transform:scaleX(1)}.pc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;flex-wrap:wrap;gap:.4rem}.pc-num{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.08em;color:var(--fg-dim)}.impact-badge{display:inline-flex;align-items:center;gap:.3rem;font-family:Space Mono,monospace;font-size:.5rem;letter-spacing:.05em;color:var(--accent-2);border:1px solid var(--accent-2-dim);padding:.15rem .5rem;border-radius:3px;background:var(--accent-2-dim)}.impact-badge svg{width:11px;height:11px;flex-shrink:0}.pc-title{font-size:1rem;font-weight:600;color:var(--fg-strong);margin-bottom:.3rem;line-height:1.35}.pc-desc{font-size:.82rem;color:var(--fg-dim);line-height:1.7;flex:1;margin-bottom:.8rem}.case-flow{display:flex;flex-direction:column;gap:.75rem;background:var(--surface);padding:.9rem .8rem;border-radius:6px;margin-bottom:.8rem;border:1px solid var(--border)}.case-step{display:flex;align-items:flex-start;gap:.65rem;position:relative}.case-step-icon{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.case-step-icon svg{width:13px;height:13px}.case-step-icon.icon-problem{background:#f472b629;color:#f472b6}.case-step-icon.icon-solution{background:var(--accent-2-dim);color:var(--accent-2)}.case-step-icon.icon-insight{background:#facc1529;color:#facc15}.case-step:not(:last-child) .case-step-icon:after{content:"";position:absolute;top:24px;left:50%;transform:translate(-50%);width:1px;height:23px;background:var(--border2)}.case-step-content{display:flex;flex-direction:column;gap:.15rem;padding-top:.1rem}.case-step .step-label{font-family:Space Mono,monospace;font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.case-step .step-text{font-size:.72rem;color:var(--fg);line-height:1.4}.project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.4rem;background:var(--surface);padding:.6rem;border-radius:6px;margin-bottom:.8rem;border:1px solid var(--border)}.stat-item{text-align:center}.stat-number{font-size:.9rem;font-weight:700;color:var(--accent-2);display:block}.stat-label{font-size:.5rem;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.05em}.pc-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem}.tag{font-size:.7rem;background:var(--tag-bg);color:var(--fg);padding:.2rem .6rem;border-radius:4px;border:1px solid var(--border);transition:all .15s ease;display:inline-flex;align-items:center;gap:.35rem}.tag i,.tag svg{width:12px;height:12px;flex-shrink:0;color:var(--fg-dim)}.tag:hover{border-color:var(--muted);color:var(--fg-strong)}.tag:hover i,.tag:hover svg{color:var(--accent-2)}.tag-logo{width:14px;height:14px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:1px}.tag-logo img{width:10px;height:10px;-o-object-fit:contain;object-fit:contain}.tag.icon-only{padding:.35rem;border-radius:50%;width:26px;height:26px;justify-content:center;background:#fff;border-color:var(--border2)}.tag.icon-only i,.tag.icon-only svg{width:13px;height:13px}.tag.icon-only img{width:15px;height:15px;-o-object-fit:contain;object-fit:contain}.pc-actions{display:flex;gap:.5rem;padding-top:.8rem;border-top:1px solid var(--border)}.pc-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:.7rem;font-weight:500;padding:.4rem .6rem;border-radius:5px;border:1px solid var(--border2);color:var(--fg-dim);background:none;transition:all .15s ease}.pc-btn:hover{color:var(--fg-strong);border-color:var(--muted);transform:translateY(-1px)}.pc-btn.primary{background:var(--accent-2);color:var(--accent-2-ink);border-color:transparent}.pc-btn.primary:hover{opacity:.85;transform:translateY(-1px)}.pc-btn svg{width:13px;height:13px;flex-shrink:0}.timeline{display:flex;flex-direction:column;gap:0;margin-top:2rem}.tl-item{display:grid;grid-template-columns:120px 1px 1fr;gap:0 2rem;padding-bottom:2.5rem}.tl-item:last-child{padding-bottom:0}.tl-date{font-family:Space Mono,monospace;font-size:.7rem;color:var(--fg-dim);letter-spacing:.08em;padding-top:.15rem;text-align:right;line-height:1.5}.tl-current{display:inline-flex;align-items:center;color:var(--accent-2);font-weight:700}.tl-line{position:relative;display:flex;flex-direction:column;align-items:center}.tl-dot{width:9px;height:9px;border-radius:50%;background:var(--border2);border:2px solid var(--bg);flex-shrink:0;margin-top:.2rem;transition:background .25s,box-shadow .35s,transform .35s}.tl-item:hover .tl-dot{background:var(--fg-strong)}.tl-item.filled .tl-dot{background:var(--accent-2);box-shadow:0 0 0 5px var(--accent-2-dim);transform:scale(1.2)}.tl-track{flex:1;width:2px;background:var(--border);margin-top:.35rem;position:relative;overflow:hidden;border-radius:2px}.tl-item:last-child .tl-track{display:none}.tl-track:after{content:"";position:absolute;top:0;left:0;width:100%;height:var(--fill,0%);background:linear-gradient(var(--accent-2),var(--cat-viz));border-radius:2px;transition:height .15s linear}.tl-body{padding-bottom:0}.tl-org{font-size:.75rem;color:var(--fg-dim);margin-bottom:.2rem;font-family:Space Mono,monospace;letter-spacing:.06em}.tl-role{font-size:1rem;font-weight:600;color:var(--fg-strong);margin-bottom:.5rem;line-height:1.3}.tl-desc{font-size:.82rem;color:var(--fg-dim);line-height:1.7;margin-bottom:.7rem}.tl-tags{display:flex;flex-wrap:wrap;gap:.3rem}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-top:2rem}.cert-card{background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--accent-2);border-radius:var(--radius);padding:1.2rem;display:flex;flex-direction:column;gap:.6rem;transition:all .2s ease}.cert-card:hover{border-color:var(--border2);transform:translateY(-3px);box-shadow:0 8px 30px -8px #0000004d}.cert-header{display:flex;align-items:center;gap:.6rem}.cert-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-2-dim);color:var(--accent-2);flex-shrink:0}.cert-icon svg{width:16px;height:16px}.cert-name{font-size:.9rem;font-weight:600;color:var(--fg-strong);line-height:1.3}.cert-issuer{font-size:.75rem;color:var(--fg-dim)}.cert-id{font-family:Space Mono,monospace;font-size:.5rem;color:var(--fg-dim);background:var(--surface);padding:.15rem .5rem;border-radius:3px;border:1px solid var(--border);display:inline-block;word-break:break-all}.cert-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;flex-wrap:wrap;gap:.4rem}.verified-badge{display:inline-flex;align-items:center;gap:.3rem;font-family:Space Mono,monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:#4ade80;border:1px solid rgba(74,222,128,.25);padding:.15rem .5rem;border-radius:3px}.verified-badge svg{width:11px;height:11px}.cert-link{font-size:.7rem;color:var(--fg-dim);border:1px solid var(--border);padding:.2rem .6rem;border-radius:4px;transition:all .15s ease;display:inline-flex;align-items:center;gap:.2rem}.cert-link svg{width:12px;height:12px}.cert-link:hover{color:var(--fg-strong);border-color:var(--accent-2);transform:translateY(-1px)}#contact .container{max-width:640px}.contact-form-card{margin-top:2.25rem;display:flex;flex-direction:column;gap:1.3rem;background:var(--card-bg);border:1px solid var(--border);border-radius:calc(var(--radius) * 2);padding:clamp(1.25rem,4vw,2rem);box-shadow:0 20px 50px -24px #00000059}.form-row{display:flex;gap:1.1rem}.form-row .form-group{flex:1;min-width:0}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-group label{font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.form-group input,.form-group textarea{font-family:Roboto Slab,serif;font-size:.92rem;color:var(--fg-strong);background:var(--bg);border:1px solid var(--border2);border-radius:var(--radius);padding:.75rem .95rem;transition:border-color var(--tr),box-shadow var(--tr);width:100%;resize:vertical}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--fg-dim);opacity:.65}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--fg-dim);opacity:.65}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-2-dim)}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-color:#e5484d}.form-error{font-size:.76rem;color:#e5484d}.form-footer-row{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.form-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0;background:var(--accent-2);color:var(--accent-2-ink);padding:.75rem 1.7rem;border-radius:var(--radius);font-size:.86rem;font-weight:600;transition:opacity var(--tr),transform var(--tr)}.form-submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.form-submit-btn:disabled{opacity:.65;cursor:not-allowed}.form-submit-btn .spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-status-row{min-height:1.4rem;flex:1}.form-status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin:0}.form-status.success{color:#2fb872}.form-status.error{color:#e5484d}.contact-alt-line{font-size:.82rem;color:var(--fg-dim);margin-top:1.6rem;margin-bottom:0}@media (max-width:640px){.form-row{flex-direction:column;gap:1.1rem}.form-footer-row{flex-direction:column;align-items:flex-start;gap:.8rem}}.contact-links{display:flex;align-items:center;gap:1rem;margin-top:.9rem;flex-wrap:wrap}.contact-link{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border2);color:var(--fg);transition:all .25s ease;position:relative}.contact-link svg{width:20px;height:20px}.contact-link:hover{background:var(--accent-2);color:var(--accent-2-ink);border-color:var(--accent-2);transform:translateY(-4px) scale(1.06);box-shadow:0 12px 26px -10px var(--glow-color)}footer{border-top:1px solid var(--border);padding:1.5rem clamp(1.25rem,5vw,3.5rem);display:flex;justify-content:space-between;align-items:center;font-family:Space Mono,monospace;font-size:.7rem;color:var(--fg-dim);flex-wrap:wrap;gap:.5rem;max-width:none;transition:border-color var(--tr)}footer .footer-year{color:var(--fg-dim)}.back-to-top{position:fixed;right:clamp(1rem,4vw,2rem);bottom:clamp(1rem,4vw,2rem);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border2);color:var(--fg);box-shadow:0 12px 30px -12px #00000080;z-index:150;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease,visibility .3s,background .2s,color .2s,border-color .2s}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--accent-2);color:var(--accent-2-ink);border-color:var(--accent-2)}.back-to-top svg{width:18px;height:18px}@media (max-width:1024px){.container{padding-top:clamp(3.5rem,9vw,6rem);padding-bottom:clamp(3.5rem,9vw,6rem)}.about-grid{gap:2.75rem}.hero-content{gap:2rem}.hero-illustration{width:280px}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nav-links{display:none}.hamburger,.mobile-menu{display:flex}#hero{min-height:100vh;text-align:center;align-items:center;justify-content:center;padding:2rem 0}.hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.hero-text{display:flex;flex-direction:column;align-items:center;width:100%}.hero-visual{display:none}.hero-sub{max-width:100%;text-align:center;margin-left:auto;margin-right:auto}.hero-ctas{justify-content:center;flex-direction:column;align-items:stretch;width:100%;max-width:320px}.hero-ctas .btn-primary,.hero-ctas .btn-outline,.hero-scroll{justify-content:center}.hero-greeting{font-size:1rem}.hero-name{font-size:2.8rem}.hero-title{font-size:1rem;min-height:2rem}.about-grid{grid-template-columns:1fr;gap:2rem}.skills-grid{grid-template-columns:1fr}.skill-card--featured{grid-column:span 1}.projects-grid{grid-template-columns:1fr}.project-card{padding:1.2rem}.project-stats{grid-template-columns:repeat(2,1fr)}.tl-item{grid-template-columns:16px 1fr;grid-template-rows:auto auto;gap:.35rem 1rem}.tl-line{grid-row:1 / span 2;grid-column:1}.tl-date{display:block;grid-row:1;grid-column:2;text-align:left;margin-bottom:.1rem}.tl-body{grid-row:2;grid-column:2}.tl-track{display:none}.contact-link{width:48px;height:48px}.contact-link svg{width:18px;height:18px}.results-grid{grid-template-columns:1fr 1fr}.result-card{padding:1rem}.big-number{font-size:1.8rem}.cert-grid{grid-template-columns:1fr}footer{flex-direction:column;text-align:center;gap:.5rem;padding:1rem;font-size:.6rem}.pc-actions{flex-direction:column}.pc-top{flex-direction:column;align-items:flex-start}.dashboard-preview{aspect-ratio:16/10}}@media (max-width:480px){.container{padding:clamp(3rem,8vw,5rem) 1rem}.container.first{padding-top:calc(var(--nav-h) + 2rem)}.hero-name{font-size:2.2rem}.hero-title{font-size:.9rem}.results-grid{grid-template-columns:1fr}}@media (max-width:360px){.hero-name{font-size:1.8rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}[data-theme=light] .grid-bg:after{background:linear-gradient(to bottom,transparent 60%,var(--bg) 100%)}[data-theme=light] .hero-grid-bg{opacity:.1}.cs-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--fg-dim);border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem;margin-bottom:2rem;transition:color var(--tr),border-color var(--tr),transform var(--tr);text-decoration:none}.cs-back:hover{color:var(--fg-strong);border-color:var(--muted);transform:translate(-3px)}.cs-back svg{width:13px;height:13px}.cs-num-badge{display:inline-block;font-size:.72rem;letter-spacing:.06em;color:var(--fg-dim);border:1px solid var(--border);border-radius:999px;padding:.3rem .8rem;margin-bottom:1rem}.cs-title{font-size:clamp(1.9rem,4.2vw,2.75rem);line-height:1.15;color:var(--fg-strong);margin-bottom:1rem}.cs-lede{font-size:1.02rem;color:var(--fg-dim);max-width:640px;margin-bottom:2rem}.cs-hero-banner{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--card-bg);aspect-ratio:16/9;position:relative;margin-bottom:2.5rem}.cs-hero-banner img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.cs-cta-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem}.cs-section-head{display:flex;align-items:center;gap:.85rem;margin-bottom:1.5rem}.cs-section-icon{width:42px;height:42px;border-radius:var(--radius);flex-shrink:0;display:flex;align-items:center;justify-content:center}.cs-section-icon svg{width:19px;height:19px}.cs-section-icon.problem{background:#f472b629;color:#f472b6}.cs-section-icon.approach{background:var(--accent-2-dim);color:var(--accent-2)}.cs-section-icon.findings{background:#facc1529;color:#facc15}.cs-section-icon.recommendations{background:#4ade8029;color:#4ade80}.cs-section-eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 .2rem}.cs-section-title{font-size:1.35rem;color:var(--fg-strong);margin:0;font-weight:600}.cs-body p{color:var(--fg);line-height:1.8;margin-bottom:1.1rem;max-width:760px}.cs-body p:last-child{margin-bottom:0}.cs-problem-card{border-left:2px solid #f472b6;padding:.25rem 0 .25rem 1.5rem}.cs-steps{display:flex;flex-direction:column;gap:1.25rem;max-width:760px}.cs-step{display:flex;gap:1rem;align-items:flex-start}.cs-step-num{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--accent-2-dim);color:var(--accent-2);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700}.cs-step p{margin:0;color:var(--fg);line-height:1.75;padding-top:.3rem}.cs-findings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}.cs-finding-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;border-top:2px solid #facc15;display:flex;flex-direction:column;transition:transform var(--tr),border-color var(--tr)}.cs-finding-card:hover{transform:translateY(-3px);border-color:var(--border2)}.cs-finding-card .cs-finding-img{aspect-ratio:16/10;background:var(--surface);overflow:hidden}.cs-finding-card .cs-finding-img img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.cs-finding-card p{margin:0;padding:1.1rem;font-size:.85rem;color:var(--fg-dim);line-height:1.7}.cs-tools{display:flex;flex-wrap:wrap;gap:.5rem}.cs-recs{display:flex;flex-direction:column;gap:.85rem;max-width:760px}.cs-rec{display:flex;gap:.75rem;align-items:flex-start}.cs-rec svg{width:18px;height:18px;flex-shrink:0;color:#4ade80;margin-top:.15rem}.cs-rec p{margin:0;color:var(--fg);line-height:1.75}.cs-final-cta{background:linear-gradient(135deg,var(--surface),var(--card-bg));border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem clamp(1.5rem,4vw,3rem);text-align:center;margin-top:1rem}.cs-final-cta h3{font-size:1.4rem;color:var(--fg-strong);margin-bottom:.6rem}.cs-final-cta p{color:var(--fg-dim);margin-bottom:1.5rem;max-width:480px;margin-left:auto;margin-right:auto}.cs-final-cta .pc-actions{justify-content:center;border-top:none;padding-top:0}@media (max-width:768px){.cs-section-head{gap:.6rem}.cs-section-icon{width:36px;height:36px}.cs-findings-grid{grid-template-columns:1fr}}.about-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1.75rem}.about-focus-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;cursor:pointer;transition:border-color var(--tr),transform var(--tr)}.about-focus-card:hover,.about-focus-card.is-open{border-color:var(--border2);transform:translateY(-2px)}.about-focus-head{display:flex;align-items:center;gap:.6rem}.about-focus-icon{width:34px;height:34px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-2-dim);color:var(--accent-2)}.about-focus-icon svg{width:16px;height:16px}.about-focus-label{font-size:.88rem;font-weight:600;color:var(--fg-strong)}.about-focus-desc{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .3s ease,margin-top .35s ease;font-size:.78rem;color:var(--fg-dim);line-height:1.6}.about-focus-card:hover .about-focus-desc,.about-focus-card.is-open .about-focus-desc{max-height:120px;opacity:1;margin-top:.65rem}.about-proficiency{margin-top:1.5rem;display:flex;flex-direction:column;gap:.9rem}.prof-row{display:flex;flex-direction:column;gap:.35rem}.prof-label{display:flex;justify-content:space-between;font-size:.76rem;color:var(--fg-dim)}.prof-label b{color:var(--fg-strong);font-weight:600}.prof-track{height:6px;border-radius:99px;background:var(--tag-bg);overflow:hidden}.prof-fill{height:100%;border-radius:99px;background:var(--accent-2);width:0;transition:width 1.1s cubic-bezier(.16,1,.3,1)}.about-meta-focus{display:flex;flex-direction:column;gap:.65rem;margin-top:1.4rem}.about-meta-focus .about-focus-card{padding:.9rem 1rem}.about-focus-grid{align-items:start}.case-study-page .container{padding:2.25rem clamp(1.25rem,5vw,3.5rem)}.case-study-page .container.first{padding-top:5.75rem}.case-study-page .divider{margin:0 auto}.cert-flip{perspective:1400px;cursor:pointer}.cert-flip-inner{position:relative;width:100%;min-height:180px;transition:transform .6s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}.cert-flip.is-flipped .cert-flip-inner{transform:rotateY(180deg)}.cert-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--accent-2-dim);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;overflow:hidden;transition:border-left-color .25s ease,border-left-width .25s ease,box-shadow .25s ease,transform .25s ease}.cert-flip:hover .cert-face,.cert-flip:focus-visible .cert-face{border-left-color:var(--accent-2);border-left-width:5px;box-shadow:0 10px 32px -12px var(--accent-2-dim)}.cert-face-back{transform:rotateY(180deg)}.cert-back-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.cert-link-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-2-dim);color:var(--accent-2);transition:all var(--tr)}.cert-link-icon:hover{background:var(--accent-2);color:var(--accent-2-ink);transform:translateY(-2px)}.cert-flip-hint{font-size:.68rem;color:var(--fg-dim);display:flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:.75rem}.cert-flip-hint svg{width:12px;height:12px}.cert-back-title{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.6rem}.cert-skills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.cert-skills .tag{font-size:.7rem;padding:.3rem .6rem}.cert-back-date{font-size:.78rem;color:var(--fg-dim);margin-bottom:1rem}@media (max-width:640px){.cert-flip-inner{min-height:190px}.cert-face{padding:1.15rem}}@media (max-width:400px){.cert-flip-inner{min-height:200px}}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.75rem;flex-wrap:wrap}.admin-tab{font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;padding:.55rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border2);background:transparent;color:var(--fg-dim);transition:all var(--tr)}.admin-tab.active{background:var(--accent-2);color:var(--accent-2-ink);border-color:var(--accent-2)}.admin-tab:not(.active):hover{border-color:var(--accent-2)}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.admin-panel-head h3{margin:0}.admin-form-card{background:var(--card-bg);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);padding:1.5rem;display:flex;flex-direction:column;gap:1.1rem;margin-bottom:1.75rem}.admin-json-field{font-family:Space Mono,monospace;font-size:.78rem;line-height:1.5}.admin-list{display:flex;flex-direction:column;gap:.6rem}.admin-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1.1rem;font-size:.88rem;color:var(--fg-strong)}.admin-list-actions{display:flex;gap:.4rem}.hero-illustration-img{width:380px;max-width:100%;border-radius:16px;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35));animation:floatIllustration 6s ease-in-out infinite;position:relative;z-index:1;-o-object-fit:cover;object-fit:cover}.form-hint{font-size:.76rem;color:var(--fg-dim);margin-top:.35rem}.form-hint code{font-family:Space Mono,monospace;font-size:.9em}.image-uploader{border:1.5px dashed var(--border2);border-radius:10px;padding:1rem;cursor:pointer;transition:border-color .2s,background .2s;background:var(--card-bg)}.image-uploader:hover,.image-uploader.drag-over{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 6%,var(--card-bg))}.image-uploader-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 0;color:var(--fg-dim);font-size:.82rem}.image-uploader-empty svg{opacity:.7}.image-uploader-empty .spin{animation:spin .8s linear infinite}.image-uploader-preview{position:relative;display:flex;justify-content:center}.image-uploader-preview img{max-width:100%;max-height:200px;border-radius:8px;-o-object-fit:contain;object-fit:contain}.image-uploader-remove{position:absolute;top:-8px;right:-8px;background:var(--card-bg);border:1px solid var(--border2);border-radius:50%}.image-uploader-url-input{margin-top:.5rem;width:100%;font-size:.76rem;opacity:.85}
