@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7e832ad540183e91-s.280oih_b74u9j.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2094fb60fd9c8287-s.3qxy1tqak831c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c875c6f5d3e977ac-s.p.1h18_wedhzk4h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.2b_sldcwg6mn_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.1emuuracu50qd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.43zbiuwnnoiok.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0ynx40_3oa9rk.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.1975l3y3401x_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.2o7m9ogm38dql.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.3ji57o093q1kd.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.19xuq3td7fwu_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.3o_v2fun1jzxk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.11ypmpdlzqdb_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.3go-kn2r40gie.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.3bh2vc0w-r-ll.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_c240e5c5-module__mqDp1W__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_c240e5c5-module__mqDp1W__variable{--font-display:"Poppins", "Poppins Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.2njitm-prmz2_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.38hmww4cj4vme.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.12_ml6bnugnre.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.2yee423r7ahpo.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_eefad112-module__8_79wq__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_eefad112-module__8_79wq__variable{--font-mono:"DM Mono", "DM Mono Fallback"}
*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-\[28\%\]{inset:28%}.bottom-0{bottom:0}.left-1\/2{left:50%}.top-0{top:0}.z-0{z-index:0}.z-10{z-index:10}.-ml-8{margin-left:-2rem}.-mt-8{margin-top:-2rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.h-1\/2{height:50%}.h-110{height:27.5rem}.h-150{height:37.5rem}.h-180{height:45rem}.h-6{height:1.5rem}.h-full{height:100%}.h-screen{height:100vh}.w-110{width:27.5rem}.w-150{width:37.5rem}.w-180{width:45rem}.w-6{width:1.5rem}.w-75{width:18.75rem}.w-full{width:100%}.grow{flex-grow:1}.origin-bottom{transform-origin:bottom}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y:50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-border{border-color:var(--border)}.bg-background{background-color:var(--canvas)}.p-3{padding:.75rem}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);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)}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--canvas:#fff;--card:#ffffffbd;--card-components:#f8f9fa;--card-muted:#ffffffad;--card-raised:#ffffffd9;--foreground:#1d3557;--muted:#6e8fa8;--accent:#e63946;--accent-soft:#e6394629;--border:#1d355714;--border-strong:#1d355726;--shadow:0 20px 50px #1d355714;--shadow-small:0 6px 18px #1d35570d;--clay-bg:#ffffffd6;--clay-bg-subtle:#f8f9fae0;--clay-border:2px solid #ffffffe0;--clay-border-sm:1.5px solid #ffffffbf;--clay-shadow-lg:14px 18px 38px #1d35571f, -10px -10px 28px #fffffff2, inset 3px 3px 6px #ffffffe6, inset -3px -3px 6px #1d35570d;--clay-shadow-md:8px 12px 24px #1d35571a, -6px -6px 18px #ffffffe6, inset 2px 2px 4px #ffffffd9, inset -2px -2px 4px #1d35570a;--clay-shadow-sm:4px 6px 14px #1d355714, -3px -3px 10px #ffffffd9, inset 1.5px 1.5px 3px #fffc, inset -1.5px -1.5px 3px #1d355708;--clay-shadow-inset:inset 3px 4px 8px #1d35571f, inset -3px -3px 6px #ffffffe6}.dark{--canvas:#123;--card:#1d3557c7;--card-components:#1d3557;--card-muted:#26456bb8;--card-raised:#305580cc;--foreground:#f1faee;--muted:#a8dadc;--accent:#e63946;--accent-soft:#e639462e;--border:#f1faee1a;--border-strong:#f1faee2e;--shadow:0 24px 60px #0000004d;--shadow-small:0 10px 25px #0003;--clay-bg:#1d3557cc;--clay-bg-subtle:#172a45d9;--clay-border:1.5px solid #f1faee2e;--clay-border-sm:1px solid #f1faee24;--clay-shadow-lg:16px 22px 44px #0000008c, -8px -8px 24px #ffffff0d, inset 2px 2px 5px #ffffff26, inset -3px -3px 8px #00000073;--clay-shadow-md:10px 14px 28px #00000073, -5px -5px 16px #ffffff0a, inset 2px 2px 4px #ffffff1f, inset -2px -2px 6px #00000059;--clay-shadow-sm:5px 8px 16px #00000061, -3px -3px 10px #ffffff08, inset 1.5px 1.5px 3px #ffffff1a, inset -1.5px -1.5px 4px #0000004d;--clay-shadow-inset:inset 3px 4px 10px #00000080, inset -3px -3px 8px #ffffff0a}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{color:var(--foreground);font-family:var(--font-display), "Helvetica Neue", Helvetica, Arial, sans-serif;background:0 0;min-width:280px;margin:0;font-size:15px;line-height:1.55;transition:background-color .18s,color .18s;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:#fff}.vcard-page{min-height:100vh;padding:42px 20px 72px}.skip-link{background:var(--foreground);color:var(--canvas);z-index:50;padding:9px 12px;font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem;transition:top .18s;position:fixed;top:-60px;left:16px}.skip-link:focus{top:16px}.vcard-layout{grid-template-columns:285px minmax(0,1fr);align-items:start;gap:24px;max-width:1200px;margin:0 auto;display:grid}.profile-card,.content-card{-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.profile-card{z-index:2;padding:27px 25px 22px;position:sticky;top:42px}.profile-card-intro{text-align:center;flex-direction:column;align-items:center;display:flex}.profile-avatar{background:var(--card-muted);border:1px solid var(--border-strong);color:var(--accent);border-radius:20px;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:18px;display:flex;position:relative;overflow:hidden}.profile-avatar:before,.profile-avatar:after{background:var(--border);content:"";position:absolute}.profile-avatar:before{height:1px;top:50%;left:0;right:0}.profile-avatar:after{width:1px;top:0;bottom:0;left:50%}.profile-avatar span{background:var(--card-muted);letter-spacing:-.09em;z-index:1;padding:9px;font-family:SFMono-Regular,Consolas,monospace;font-size:1.25rem;font-weight:700;position:relative}.profile-identity h1{letter-spacing:-.045em;margin:0;font-size:1.13rem;font-weight:600;line-height:1.22}.profile-identity p{background:var(--card-muted);color:var(--muted);border-radius:8px;margin:11px 0 0;padding:7px 10px;font-size:.68rem;line-height:1;display:inline-block}.profile-more-btn{background:var(--card-muted);border:1px solid var(--border);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:0 0 12px 12px;justify-content:center;align-items:center;gap:5px;padding:7px 11px;font-family:SFMono-Regular,Consolas,monospace;font-size:.6rem;display:none;position:absolute;top:-1px;right:0}.profile-more-btn svg{transition:transform .18s}.profile-card.contacts-open .profile-more-btn svg{transform:rotate(180deg)}.profile-details{display:block}.card-divider{background:var(--border);width:100%;height:1px;margin:23px 0}.profile-contact-list{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.profile-contact-list li{align-items:center;gap:11px;min-width:0;display:flex}.profile-icon,.service-icon,.contact-method-icon{background:var(--card-muted);border:1px solid var(--border);color:var(--accent);border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.profile-contact-list li>div{flex-direction:column;min-width:0;display:flex}.profile-contact-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.56rem;line-height:1.2}.profile-contact-list a,.profile-contact-list li>div>span:not(.profile-contact-label){text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.7rem;line-height:1.4;overflow:hidden}.profile-contact-list a:hover,.profile-card-links a:hover,.profile-resume-link:hover{color:var(--accent)}.profile-card-links{justify-content:center;align-items:center;gap:15px;display:flex}.profile-card-links a{color:var(--muted);justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:color .18s;display:inline-flex}.profile-card-footer{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.theme-toggle{background:var(--card-muted);border:1px solid var(--border);cursor:pointer;letter-spacing:.07em;text-transform:uppercase;border-radius:8px;align-items:center;gap:6px;padding:7px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:.57rem;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent)}.profile-resume-link{color:var(--muted);align-items:center;gap:4px;font-family:SFMono-Regular,Consolas,monospace;font-size:.55rem;transition:color .18s;display:inline-flex}.content-card{flex-direction:column;min-width:0;height:calc(100vh - 84px);max-height:900px;display:flex;position:relative;overflow:hidden}.content-navbar{border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;gap:28px;padding:21px 29px;display:flex}.content-navbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:.72rem;transition:color .18s;position:relative}.content-navbar button:after{background:var(--accent);content:"";transform-origin:0;width:100%;height:2px;transition:transform .18s;position:absolute;bottom:-22px;left:0;transform:scaleX(0)}.content-navbar button:hover,.content-navbar button.is-active{color:var(--foreground)}.content-navbar button.is-active{color:var(--accent)}.content-navbar button.is-active:after{transform:scaleX(1)}.content-card-body{scrollbar-color:var(--accent) var(--card-muted);scrollbar-width:thin;flex:auto;min-height:0;padding:34px 34px 42px;overflow-y:auto}.content-card-body::-webkit-scrollbar{width:7px}.content-card-body::-webkit-scrollbar-track{background:var(--card-muted)}.content-card-body::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--card-muted);border-radius:99px}.portfolio-article{animation:.36s both article-fade}@keyframes article-fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.article-header,.section-title-row,.portfolio-controls,.portfolio-case-heading,.resume-item-head{justify-content:space-between;align-items:center;display:flex}.article-header{margin-bottom:27px}.article-overline,.article-detail,.section-count,.portfolio-count,.meta-label,.resume-period,.current-badge,.contact-footnote,.visual-toolbar,.visual-label,.visual-room-label,.profile-contact-label{letter-spacing:.08em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace}.article-overline{color:var(--accent);letter-spacing:.13em;align-items:center;gap:7px;font-size:.58rem;font-weight:600;display:inline-flex}.article-title{letter-spacing:-.06em;margin:8px 0 0;font-size:clamp(1.7rem,3vw,2.05rem);font-weight:600;line-height:1.18}.article-detail,.section-count,.portfolio-count{color:var(--muted);font-size:.56rem}.about-intro-card{background:var(--card-muted);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:minmax(0,1fr) 190px;align-items:stretch;gap:24px;padding:23px;display:grid}.about-intro-copy p{color:var(--muted);max-width:520px;margin:0;font-size:.82rem;line-height:1.7}.about-intro-facts{border-left:1px solid var(--border);flex-direction:column;justify-content:center;padding-left:23px;display:flex}.about-intro-facts div{border-bottom:1px solid var(--border);flex-direction:column;padding:10px 0;display:flex}.about-intro-facts div:first-child{padding-top:0}.about-intro-facts div:last-child{border-bottom:0;padding-bottom:0}.about-intro-facts strong{color:var(--accent);letter-spacing:-.08em;font-family:SFMono-Regular,Consolas,monospace;font-size:1.1rem;font-weight:500}.about-intro-facts span{color:var(--muted);font-size:.6rem}.article-section,.resume-section{margin-top:31px}.section-title-row{margin-bottom:17px}.section-title{letter-spacing:-.04em;align-items:center;gap:9px;margin:0;font-size:1.05rem;font-weight:600;display:inline-flex}.section-title svg,.section-count{color:var(--accent)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.service-card{background:var(--card-muted);border:1px solid var(--border);border-radius:var(--radius-card);padding:19px;transition:border-color .18s,box-shadow .18s,transform .18s}.service-card:hover{border-color:var(--accent);box-shadow:var(--shadow-small);transform:translateY(-3px)}.service-icon{margin-bottom:16px}.service-card h4{letter-spacing:-.03em;margin:0 0 6px;font-size:.9rem}.service-card p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.6}.about-quote-card{background:var(--foreground);border-radius:var(--radius-card);color:var(--card);align-items:center;gap:16px;margin-top:25px;padding:18px 21px;display:flex}.quote-mark{color:var(--accent);font-family:Georgia,serif;font-size:2.8rem;line-height:.7}.about-quote-card p{letter-spacing:-.02em;margin:0 0 5px;font-size:.8rem;font-weight:500}.about-quote-card span{color:var(--accent);text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.53rem}.resume-timeline{border-left:1px solid var(--border-strong);margin-left:9px;padding-left:27px}.resume-item{border-bottom:1px solid var(--border);padding:0 0 23px;position:relative}.resume-item+.resume-item{padding-top:23px}.resume-item:last-child{border-bottom:0;padding-bottom:0}.resume-item-marker{background:var(--card);align-items:center;gap:8px;padding:3px 0;display:flex;position:absolute;top:0;left:-34px;transform:translate(-50%)}.resume-item-marker i{background:var(--accent);border:3px solid var(--card);box-shadow:0 0 0 1px var(--accent);border-radius:50%;width:9px;height:9px;display:block}.resume-item-marker span{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:.48rem}.resume-item-head{align-items:start;gap:15px}.resume-period{color:var(--accent);font-size:.56rem}.resume-item-head h4{letter-spacing:-.04em;margin:6px 0 2px;font-size:.98rem}.resume-item-head p{color:var(--muted);margin:0;font-size:.73rem}.current-badge{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;padding:5px 7px;font-size:.5rem}.resume-summary{color:var(--muted);max-width:560px;margin:13px 0 11px;font-size:.75rem;line-height:1.6}.resume-bullets,.case-focus-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.resume-bullets li,.case-focus-list li{color:var(--muted);align-items:start;gap:6px;font-size:.68rem;line-height:1.5;display:flex}.resume-bullets svg,.case-focus-list svg{color:var(--accent);flex:none;margin-top:3px}.resume-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:31px;display:grid}.resume-mini-card{background:var(--card-muted);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px}.resume-mini-card .section-title-row{margin-bottom:24px}.resume-mini-card h4{letter-spacing:-.03em;margin:0 0 5px;font-size:.9rem}.mini-card-muted{color:var(--muted);margin:0;font-size:.68rem}.education-score{border-top:1px solid var(--border);align-items:baseline;gap:7px;margin-top:23px;padding-top:14px;display:flex}.education-score strong{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:1.25rem;font-weight:500}.education-score span{color:var(--muted);font-size:.62rem}.resume-skill-list{flex-direction:column;gap:12px;display:flex}.resume-skill-list div{border-bottom:1px solid var(--border);padding-bottom:9px}.resume-skill-list div:last-child{border-bottom:0;padding-bottom:0}.resume-skill-list span{color:var(--accent);text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.53rem}.resume-skill-list p{color:var(--muted);margin:4px 0 0;font-size:.65rem;line-height:1.5}.portfolio-intro{background:var(--card-muted);border:1px solid var(--border);border-radius:var(--radius-card);justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;padding:16px 18px;display:flex}.portfolio-intro p{color:var(--muted);max-width:450px;margin:0;font-size:.76rem;line-height:1.55}.portfolio-intro span{color:var(--accent);text-transform:uppercase;flex:none;align-items:center;gap:6px;font-family:SFMono-Regular,Consolas,monospace;font-size:.53rem;display:inline-flex}.portfolio-controls{margin-bottom:17px}.filter-list{align-items:center;gap:19px;display:flex}.filter-list button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:.72rem;transition:color .18s}.filter-list button:hover,.filter-list button.is-active{color:var(--accent)}.project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.project-card{background:var(--card-muted);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;text-align:left;width:100%;padding:0;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}.project-card:hover,.project-card.is-selected{border-color:var(--accent);box-shadow:var(--shadow-small);transform:translateY(-3px)}.project-card-image{height:165px;position:relative;overflow:hidden}.project-card-image:after{content:"";opacity:0;pointer-events:none;background:#112d4e17;transition:opacity .18s;position:absolute;inset:0}.project-card:hover .project-card-image:after,.project-card.is-selected .project-card-image:after{opacity:1}.project-eye{background:var(--foreground);color:var(--card);opacity:0;z-index:2;border-radius:9px;justify-content:center;align-items:center;width:35px;height:35px;transition:opacity .18s,transform .18s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-42%)scale(.85)}.project-card:hover .project-eye,.project-card.is-selected .project-eye{opacity:1;transform:translate(-50%,-50%)scale(1)}.project-card-copy{justify-content:space-between;align-items:start;padding:14px 14px 16px;display:flex}.project-card-copy h3{letter-spacing:-.04em;margin:0 0 3px;font-size:.9rem}.project-card-copy p{color:var(--muted);text-transform:uppercase;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:.51rem;line-height:1.4}.project-card-index{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:.56rem}.portfolio-case{background:var(--foreground);border-radius:var(--radius-card);color:var(--card);margin-top:19px;padding:22px;overflow:hidden}.portfolio-case .article-overline,.portfolio-case .meta-label{color:var(--accent)}.portfolio-case-heading{align-items:start;gap:20px}.portfolio-case-heading h3{letter-spacing:-.05em;margin:6px 0 0;font-size:1.25rem}.case-link{color:var(--accent);white-space:nowrap;align-items:center;gap:6px;font-size:.64rem;display:inline-flex}.case-link:hover{color:var(--card)}.portfolio-case-summary{color:color-mix(in srgb, var(--card) 72%, transparent);max-width:650px;margin:14px 0 20px;font-size:.75rem;line-height:1.65}.portfolio-case-meta{border-top:1px solid color-mix(in srgb, var(--card) 20%, transparent);grid-template-columns:.7fr 1fr 1.25fr;gap:18px;padding-top:15px;display:grid}.portfolio-case-meta p{color:color-mix(in srgb, var(--card) 78%, transparent);margin:0;font-size:.69rem;line-height:1.45}.case-focus-list li{color:color-mix(in srgb, var(--card) 78%, transparent);font-size:.64rem}.portfolio-case .tag{border-color:color-mix(in srgb, var(--card) 27%, transparent);color:color-mix(in srgb, var(--card) 72%, transparent)}.meta-label{color:var(--muted);margin-bottom:7px;font-size:.53rem;display:block}.tag-list{flex-wrap:wrap;gap:5px;display:flex}.tag{border:1px solid var(--border-strong);color:var(--muted);padding:4px 6px;font-family:SFMono-Regular,Consolas,monospace;font-size:.53rem;display:inline-flex}.project-visual{background:var(--card-muted);color:var(--foreground);height:100%;min-height:165px;position:relative;overflow:hidden}.visual-toolbar{background:var(--foreground);color:var(--card);justify-content:space-between;align-items:center;height:27px;padding:0 10px;font-size:.45rem;display:flex}.visual-dots{gap:3px;display:flex}.visual-dots i{background:var(--accent);border-radius:50%;width:4px;height:4px;display:block}.visual-status{color:var(--accent)}.visual-content{height:calc(100% - 27px);padding:15px}.visual-label,.visual-room-label{color:var(--muted);font-size:.45rem;display:block}.membership-visual-content{grid-template-columns:24px minmax(0,1fr);gap:11px;display:grid}.visual-mini-sidebar{background:var(--card);flex-direction:column;align-items:center;gap:10px;padding:8px 0;display:flex}.visual-mini-sidebar b,.visual-kiosk-menu b{background:var(--accent);color:#fff;justify-content:center;align-items:center;width:16px;height:16px;font-family:SFMono-Regular,Consolas,monospace;font-size:.52rem;display:flex}.visual-mini-sidebar i{background:var(--border-strong);width:10px;height:9px;display:block}.visual-dashboard{padding-top:2px}.visual-dashboard>strong,.visual-heading>strong,.visual-products>strong{letter-spacing:-.05em;margin-top:4px;font-size:.85rem;display:block}.visual-metrics{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:17px;display:grid}.visual-metrics i{background:var(--card);height:28px;display:block;position:relative}.visual-metrics i:after{background:var(--accent);content:"";width:22px;height:4px;position:absolute;top:7px;left:7px}.visual-rows{flex-direction:column;gap:6px;margin-top:7px;display:flex}.visual-rows i{background:var(--card);height:11px;display:block;position:relative}.visual-rows i:before,.visual-rows i:after{background:var(--border-strong);content:"";height:3px;position:absolute;top:4px}.visual-rows i:before{width:35%;left:8px}.visual-rows i:after{width:16%;right:8px}.reservation-visual-content{grid-template-columns:minmax(0,1fr) 76px;gap:10px;display:grid}.visual-heading{grid-column:1/-1}.visual-floor-plan{background:var(--card);border:1px solid var(--border);padding:9px}.visual-tables{grid-template-columns:repeat(4,23px);justify-content:center;gap:7px 10px;margin-top:15px;display:grid}.visual-tables i{border:1px solid var(--accent);color:var(--accent);justify-content:center;align-items:center;width:23px;height:18px;font-family:SFMono-Regular,Consolas,monospace;font-size:.42rem;font-style:normal;display:flex}.visual-tables .table-1{background:var(--accent);color:#fff}.visual-tables .table-2{border-color:var(--border-strong);color:var(--muted)}.visual-tables .table-3{border-style:dashed}.visual-side-detail{background:var(--card);flex-direction:column;gap:8px;padding:9px;display:flex}.visual-side-detail span,.visual-side-detail b{background:var(--border-strong);height:4px;display:block}.visual-side-detail span{width:42%}.visual-side-detail b{background:var(--foreground);width:75%}.visual-side-detail em{color:var(--accent);margin-top:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:.45rem;font-style:normal}.vkiosk-visual-content{grid-template-columns:57px minmax(0,1fr) 77px;gap:10px;display:grid}.visual-kiosk-menu,.visual-order{background:var(--card);flex-direction:column;gap:8px;padding:8px;display:flex}.visual-kiosk-menu>span,.visual-order>span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:.43rem}.visual-kiosk-menu i{background:var(--border-strong);width:80%;height:5px;display:block}.visual-products{padding-top:2px}.visual-product-row{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:17px;display:grid}.visual-product-row i{background:var(--card);height:78px;display:block;position:relative}.visual-product-row i:after{border:1px solid var(--accent);content:"";border-radius:50%;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.visual-product-row i:nth-child(2){background:var(--accent)}.visual-product-row i:nth-child(2):after{border-color:#fff}.visual-order i{background:var(--border-strong);width:90%;height:5px;display:block}.visual-order b{color:var(--accent);margin-top:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:.57rem}.contact-page-grid{grid-template-columns:minmax(0,1.08fr) minmax(240px,.92fr);gap:17px;display:grid}.contact-main-card{background:var(--foreground);border-radius:var(--radius-card);color:var(--card);min-height:315px;padding:24px}.contact-main-card .article-overline{color:var(--accent)}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.contact-main-card h3{letter-spacing:-.07em;max-width:420px;margin:54px 0 15px;font-size:clamp(1.65rem,3.2vw,2.55rem);line-height:1}.contact-main-card p{color:color-mix(in srgb, var(--card) 72%, transparent);max-width:430px;margin:0;font-size:.75rem;line-height:1.65}.contact-main-link{border-bottom:1px solid var(--accent);color:var(--accent);align-items:center;gap:8px;margin-top:22px;padding-bottom:5px;font-size:.88rem;display:inline-flex}.contact-methods{flex-direction:column;gap:10px;display:flex}.contact-method-card{background:var(--card-muted);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:34px 1fr 16px;align-items:center;gap:11px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.contact-method-card>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.contact-method-card small{color:var(--muted);text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.5rem}.contact-method-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:500;overflow:hidden}.contact-method-card>svg{color:var(--accent)}.contact-footnote{color:var(--muted);align-items:center;gap:7px;margin-top:26px;font-size:.53rem;display:inline-flex}.contact-footnote svg{color:var(--accent)}@media (max-width:1050px){.vcard-layout{grid-template-columns:250px minmax(0,1fr)}.profile-card{padding-left:19px;padding-right:19px}.content-card-body{padding-left:25px;padding-right:25px}.project-card-grid{gap:12px}.project-card-image{height:145px}.vkiosk-visual-content{grid-template-columns:47px minmax(0,1fr) 65px;padding-left:9px;padding-right:9px}}@media (max-width:780px){.vcard-page{padding:15px 12px 78px}.vcard-layout{max-width:560px;display:block}.profile-card{padding:20px;position:relative;top:auto}.profile-card-intro{text-align:left;flex-direction:row;align-items:start;min-height:84px;padding-right:72px}.profile-avatar{border-radius:15px;width:82px;height:82px;margin:0 14px 0 0}.profile-avatar span{padding:7px;font-size:.95rem}.profile-avatar i{bottom:7px;right:7px}.profile-identity{padding-top:10px}.profile-identity h1{font-size:1rem}.profile-identity p{margin-top:8px;font-size:.6rem}.profile-more-btn{min-width:44px;min-height:44px;display:inline-flex}.profile-details{display:none}.profile-card.contacts-open .profile-details{display:block}.profile-contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;display:grid}.profile-contact-list a,.profile-contact-list li>div>span:not(.profile-contact-label){overflow-wrap:anywhere;white-space:normal;max-width:none}.profile-card-footer{margin-top:0}.profile-card.contacts-open .profile-card-footer{margin-top:22px}.content-card{border-radius:var(--radius-large);height:calc(100dvh - 175px);min-height:420px;max-height:none;margin-top:15px}.content-navbar{background:var(--card);border:1px solid var(--border);z-index:20;border-radius:15px 15px 0 0;justify-content:space-around;gap:0;width:min(560px,100vw - 24px);max-width:560px;padding:11px 8px 10px;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -8px 22px #112d4e21}.content-navbar button{justify-content:center;align-items:center;min-height:44px;padding:8px 10px;font-size:.63rem;display:inline-flex}.content-navbar button:after{bottom:-11px}.content-card-body{padding:26px 17px calc(96px + env(safe-area-inset-bottom))}.article-header{flex-direction:column;align-items:start;gap:7px;margin-bottom:21px}.article-detail{font-size:.52rem}.about-intro-card{padding:17px;display:block}.about-intro-copy p{font-size:.75rem}.about-intro-facts{border-left:0;border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px;padding:10px 0 0;display:grid}.about-intro-facts div,.about-intro-facts div:first-child,.about-intro-facts div:last-child{border-bottom:0;padding:0}.about-intro-facts strong{font-size:.95rem}.about-intro-facts span{font-size:.5rem;line-height:1.3}.service-grid,.resume-bottom-grid,.contact-page-grid{grid-template-columns:1fr}.service-card,.about-quote-card{padding:16px}.resume-timeline{margin-left:6px;padding-left:22px}.resume-item-marker{left:-29px}.resume-item-head{align-items:start}.resume-summary{font-size:.7rem}.resume-bullets li{font-size:.64rem}.portfolio-intro{flex-direction:column;align-items:start;gap:10px}.portfolio-controls{flex-direction:column;align-items:start;gap:9px}.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-image{height:140px}.project-card-copy{padding:11px 11px 13px}.project-card-copy h3{font-size:.8rem}.project-card-copy p{font-size:.47rem}.portfolio-case{padding:17px}.portfolio-case-heading{flex-direction:column;align-items:start;gap:10px}.portfolio-case-meta{grid-template-columns:1fr 1fr}.portfolio-case-meta>div:last-child{grid-column:1/-1}.contact-main-card{min-height:285px;padding:19px}.contact-main-card h3{margin-top:45px;font-size:2rem}}@media (max-width:480px){.profile-card-intro{padding-right:55px}.profile-more-btn{gap:0;padding:10px;font-size:0}.profile-more-btn svg{width:17px;height:17px}.profile-contact-list{display:flex}.content-navbar button{padding-left:7px;padding-right:7px;font-size:.6rem}.article-title{font-size:1.75rem}.about-intro-facts{gap:5px}.about-intro-facts span{font-size:.46rem}.project-card-grid{gap:10px}.project-card-image{height:118px}.project-visual .visual-content{padding:9px}.visual-dashboard>strong,.visual-heading>strong,.visual-products>strong{font-size:.67rem}.visual-metrics{margin-top:11px}.visual-metrics i{height:20px}.visual-product-row{margin-top:10px}.visual-product-row i{height:50px}.portfolio-case-meta{display:block}.portfolio-case-meta>div+div{margin-top:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.about-intro{grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr);gap:32px;padding:7px 0 25px;display:grid}.about-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;font-family:SFMono-Regular,Consolas,monospace;font-size:.55rem;display:block}.about-work-link{border:0;border-bottom:1px solid var(--accent);color:var(--accent);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:7px;margin-top:22px;padding:0 0 6px;font-size:.75rem;transition:color .18s,gap .18s;display:inline-flex}.about-work-link:hover{color:var(--foreground);gap:10px}.about-work-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.about-facts{border-bottom:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:3px;display:grid}.about-facts div{flex-direction:column;gap:4px;padding:14px 18px 14px 0;display:flex}.about-facts div+div{border-left:1px solid var(--border);padding-left:18px}.about-facts span{color:var(--muted);text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.53rem}.service-list{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.service-item{border-bottom:1px solid var(--border);grid-template-columns:22px 30px minmax(0,1fr);align-items:start;gap:13px;padding:19px 20px 19px 0;transition:color .18s,padding-left .18s;display:grid}.service-item:nth-child(2n){border-left:1px solid var(--border);padding-left:20px;padding-right:0}.service-item:hover{color:var(--accent);padding-left:6px}.service-item:nth-child(2n):hover{padding-left:26px}.service-index{color:var(--muted);padding-top:3px;font-family:SFMono-Regular,Consolas,monospace;font-size:.52rem}.service-item .service-icon{background:0 0;border:0;border-radius:0;width:23px;height:23px;margin:0}.resume-bottom-grid{border-top:1px solid var(--border);gap:0;margin-top:34px}.resume-mini-section{padding:21px 20px 0 0}.resume-mini-section+.resume-mini-section{border-left:1px solid var(--border);padding-left:20px}.resume-mini-section .section-title-row{margin-bottom:22px}.resume-mini-section h4{letter-spacing:-.03em;margin:0 0 5px;font-size:.91rem}.resume-mini-section .education-score{margin-top:20px}.portfolio-intro{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;align-items:baseline;margin-bottom:21px;padding:0 0 18px}.portfolio-intro p{font-size:.85rem}.portfolio-browser{grid-template-columns:minmax(154px,.34fr) minmax(0,1.66fr);gap:25px;display:grid}.portfolio-controls{grid-area:1/1/auto/-1;min-width:0;margin-bottom:0}.featured-project{grid-area:2/2;grid-template-columns:minmax(0,1.5fr) minmax(205px,.65fr);gap:25px;min-width:0;display:grid}.featured-project-visual{background:var(--card-muted);min-height:380px;position:relative;overflow:hidden}.featured-project-visual .project-visual{min-height:380px;transition:transform .5s cubic-bezier(.22,1,.36,1)}.featured-project-visual:hover .project-visual{transform:scale(1.025)}.featured-placeholder-label{background:var(--foreground);color:var(--card);letter-spacing:.08em;text-transform:uppercase;z-index:3;padding:7px 10px;font-family:SFMono-Regular,Consolas,monospace;font-size:.5rem;position:absolute;bottom:0;left:0}.featured-project-index{color:var(--accent);z-index:3;font-family:SFMono-Regular,Consolas,monospace;font-size:.56rem;position:absolute;top:12px;right:13px}.featured-project-copy{align-self:center;padding:8px 0}.featured-project-copy h3{letter-spacing:-.09em;margin:14px 0 17px;font-size:clamp(2rem,4vw,3.8rem);line-height:.9}.featured-project-copy>p{color:var(--muted);margin:0;font-size:.77rem;line-height:1.65}.featured-project-meta{border-bottom:1px solid var(--border);border-top:1px solid var(--border);flex-direction:column;gap:15px;margin-top:22px;padding:15px 0;display:flex}.featured-project-meta strong{font-size:.68rem;font-weight:500}.featured-project-copy .case-link{margin-top:20px;display:inline-flex}.case-link{cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.project-index{grid-area:2/1;margin-top:0}.project-index-header{align-items:center;gap:12px;display:flex}.project-index-header .meta-label{white-space:nowrap;margin:0}.project-index-rule{background:var(--border);width:100%;height:1px}.project-index-list{border-bottom:1px solid var(--border)}.project-index-item{border:0;border-top:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;grid-template-rows:auto auto;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:4px 9px;width:100%;padding:14px 0;transition:color .18s,padding-left .18s;display:grid}.project-index-item:hover,.project-index-item.is-selected{color:var(--accent);padding-left:7px}.project-index-number,.project-index-category{color:var(--muted);text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.55rem}.project-index-number{grid-area:1/1}.project-index-title{letter-spacing:-.03em;grid-area:1/2;padding-right:20px;font-size:.9rem;font-weight:500}.project-index-category{grid-area:2/2;justify-self:start}.project-index-item svg{color:var(--muted);grid-area:1/2;justify-self:end;transition:color .18s,transform .18s}.project-index-item:hover svg,.project-index-item.is-selected svg{color:var(--accent);transform:translate(3px)}.contact-methods{gap:0}.contact-method-card{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:16px 0;transform:none}.contact-method-card:first-child{border-top:1px solid var(--border)}.contact-method-card:hover{border-color:var(--accent);box-shadow:none;transform:translate(4px)}@media (max-width:900px) and (min-width:781px){.portfolio-browser{grid-template-columns:1fr}.project-index{grid-area:2/1}.featured-project{grid-area:3/1;grid-template-columns:1fr;gap:23px}.featured-project-visual,.featured-project-visual .project-visual{min-height:300px}.featured-project-copy{justify-self:start;max-width:620px}.project-index-item{grid-template-rows:none;grid-template-columns:24px minmax(90px,.55fr) 1fr 18px;gap:14px;padding:13px 0}.project-index-number,.project-index-title,.project-index-category,.project-index-item svg{grid-area:auto}.project-index-title{padding-right:0}}@media (max-width:780px){.portfolio-browser{display:block}.portfolio-controls{margin-bottom:21px}.about-intro{padding-top:3px;display:block}.about-intro-heading{border-bottom:1px solid var(--border);border-right:0;margin-bottom:19px;padding:0 0 21px}.about-intro-heading h3{font-size:clamp(2.45rem,12vw,4.1rem)}.about-intro-copy p{font-size:.77rem}.about-facts div{padding-right:10px}.about-facts div+div{padding-left:10px}.about-facts span{font-size:.46rem;line-height:1.35}.service-list{display:block}.service-item,.service-item:nth-child(2n){border-left:0;grid-template-columns:22px 30px minmax(0,1fr);padding:16px 0}.service-item:hover,.service-item:nth-child(2n):hover{padding-left:6px}.resume-mini-section,.resume-mini-section+.resume-mini-section{border-left:0;padding-left:0;padding-right:0}.resume-mini-section+.resume-mini-section{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.featured-project{flex-direction:column;grid-area:auto;gap:23px;display:flex}.project-index{grid-area:auto;margin-top:0}.project-index-item{grid-template-rows:none}.project-index-number,.project-index-title,.project-index-category,.project-index-item svg{grid-area:auto}.project-index-title{padding-right:0}.featured-project-visual,.featured-project-visual .project-visual{min-height:265px}.featured-project-copy{padding:0}.featured-project-copy h3{font-size:3rem}.project-index-item{grid-template-columns:22px minmax(80px,.65fr) 1fr 16px;gap:9px}.project-index-category{font-size:.48rem}}@media (max-width:480px){.about-intro-heading h3{font-size:2.7rem}.about-facts strong{font-size:1rem}.about-facts span{font-size:.42rem}.featured-project-visual,.featured-project-visual .project-visual{min-height:220px}.featured-project-copy h3{font-size:2.7rem}.project-index-item{grid-template-columns:20px 1fr 16px}.project-index-category{display:none}}:root{--v2-shell-radius:34px 34px 8px 92px;--v2-content-radius:34px 34px 92px 8px;--v2-card-radius:24px 8px 24px 8px;--v2-dock-radius:26px 26px 26px 7px;--v2-small-radius:16px 16px 16px 5px}.vcard-layout{grid-template-columns:292px minmax(0,1fr);align-items:start;gap:18px;max-width:1240px}.profile-card,.content-card{border-radius:var(--v2-shell-radius)}.profile-card{background:var(--card-muted);padding:30px 27px 24px;top:32px}.profile-avatar{background:var(--card);border-radius:28px 10px;width:126px;height:126px}.profile-identity p{border-radius:14px 14px 14px 4px}.profile-card .theme-toggle{background:var(--card)}.content-card{border-radius:var(--v2-content-radius);height:var(--profile-card-height,calc(100vh - 64px));max-height:none}.content-navbar{background:var(--foreground);border-radius:var(--v2-dock-radius);box-shadow:0 12px 28px color-mix(in srgb, var(--foreground) 16%, transparent);border:0;justify-content:flex-start;align-self:flex-start;gap:4px;margin:15px 15px 0;padding:8px}.content-navbar button{color:color-mix(in srgb, var(--card) 68%, transparent);border-radius:18px 18px 18px 5px;padding:9px 14px;transition:background-color .18s,color .18s,transform .18s}.content-navbar button:after{display:none}.content-navbar button:hover{background:color-mix(in srgb, var(--card) 12%, transparent);color:var(--card);transform:translateY(-1px)}.content-navbar button.is-active,.content-navbar button.is-active:hover{background:var(--card);color:var(--foreground)}.about-intro{background:var(--card-muted);border:1px solid var(--border);border-radius:var(--v2-card-radius);padding:34px 34px 30px;position:relative;overflow:hidden}.about-intro:after{border:1px solid var(--border-strong);content:"";pointer-events:none;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-76px;right:-76px}.about-intro-heading{z-index:1;border-right:0;padding-right:0;position:relative}.about-intro-heading h3{font-size:clamp(2.6rem,5vw,5.2rem);line-height:.86}.about-intro-copy{z-index:1;position:relative}.about-work-link{background:var(--foreground);border-radius:var(--v2-small-radius);color:var(--card);border:0;padding:11px 14px;transition:background-color .18s,color .18s,gap .18s,transform .18s}.about-work-link:hover{background:var(--accent);color:#fff;gap:10px;transform:translateY(-2px)}.about-facts{background:var(--foreground);color:var(--card);border:0;border-radius:5px 5px 28px 28px;margin-top:0;padding:16px 22px}.about-facts div{padding:2px 18px 2px 0}.about-facts div+div{border-left-color:color-mix(in srgb, var(--card) 22%, transparent)}.about-facts strong{color:var(--card)}.about-facts span{color:color-mix(in srgb, var(--card) 68%, transparent)}.service-list{background:var(--card-muted);border:1px solid var(--border);border-radius:26px 8px;padding:7px 20px;display:block}.service-item,.service-item:nth-child(2n){border-left:0;padding:18px 0}.service-item:hover,.service-item:nth-child(2n):hover{padding-left:8px}.resume-timeline{background:var(--card-muted);border-radius:26px 8px;padding:26px 27px 26px 35px}.resume-mini-section,.resume-mini-section+.resume-mini-section{background:var(--card-muted);border-radius:var(--v2-card-radius);border:0;padding:22px}.portfolio-intro{background:var(--foreground);border-radius:var(--v2-small-radius);color:var(--card);border:0;align-items:center;gap:18px;margin-bottom:24px;padding:17px 20px}.portfolio-intro p{color:var(--card)}.portfolio-intro span,.portfolio-intro svg{color:color-mix(in srgb, var(--card) 74%, transparent)}.portfolio-browser{grid-template-columns:190px minmax(0,1fr);gap:18px}.portfolio-controls{background:var(--card-muted);border-radius:var(--v2-small-radius);align-items:center;padding:8px 12px}.filter-list{background:var(--card);border-radius:14px 14px 14px 4px;gap:3px;padding:4px}.filter-list button{border-radius:11px 11px 11px 4px;padding:8px 11px;transition:background-color .18s,color .18s,transform .18s}.filter-list button:hover{color:var(--foreground);transform:translateY(-1px)}.filter-list button.is-active{background:var(--foreground);color:var(--card)}.project-index{background:var(--foreground);color:var(--card);border-radius:26px 7px 26px 26px;align-self:stretch;padding:15px 15px 12px}.project-index-header .meta-label{color:color-mix(in srgb, var(--card) 62%, transparent)}.project-index-rule{background:color-mix(in srgb, var(--card) 22%, transparent)}.project-index-list{border:0}.project-index-item{border:0;border-top:1px solid color-mix(in srgb, var(--card) 18%, transparent);border-radius:var(--v2-small-radius);color:color-mix(in srgb, var(--card) 76%, transparent);margin-top:4px;padding:15px 12px;transition:background-color .18s,color .18s,transform .18s}.project-index-item:hover,.project-index-item.is-selected{background:var(--accent);color:#fff;padding-left:12px;transform:translate(3px)}.project-index-number,.project-index-category,.project-index-item svg{color:color-mix(in srgb, var(--card) 58%, transparent)}.project-index-item.is-selected .project-index-number,.project-index-item.is-selected .project-index-category,.project-index-item.is-selected svg,.project-index-item:hover .project-index-number,.project-index-item:hover .project-index-category,.project-index-item:hover svg{color:#fff}.featured-project{background:var(--card-muted);border:1px solid var(--border);border-radius:8px 28px 88px;gap:18px;padding:18px}.featured-project-visual{border-radius:16px 16px 16px 70px;min-height:390px}.featured-project-copy{background:var(--card);border-radius:16px 70px 16px 16px;flex-direction:column;justify-content:center;align-self:stretch;padding:28px 24px;display:flex}.featured-project-copy h3{font-size:clamp(2.4rem,5vw,4.8rem)}.featured-project-meta{background:var(--card-muted);border:0;border-radius:16px 4px;padding:15px}.featured-project-focus{flex-wrap:wrap;gap:6px;margin:17px 0 0;padding:0;list-style:none;display:flex}.featured-project-focus li{background:var(--card-muted);color:var(--muted);border-radius:11px 11px 11px 3px;padding:7px 9px;font-size:.61rem;line-height:1.3}.tag{background:var(--card);border:1px solid var(--border-strong);border-radius:10px 10px 10px 3px}.case-link{background:var(--foreground);border-radius:var(--v2-small-radius);color:var(--card);align-items:center;gap:7px;padding:11px 14px;transition:background-color .18s,color .18s,gap .18s,transform .18s}.case-link:hover{background:var(--accent);color:#fff;gap:10px;transform:translateY(-2px)}.project-visual{border-radius:16px 16px 16px 70px}.visual-toolbar{border-radius:0 0 17px 17px;padding:0 14px}.visual-mini-sidebar,.visual-dashboard,.visual-floor-plan,.visual-side-detail,.visual-kiosk-menu,.visual-order{border-radius:12px 4px;overflow:hidden}.contact-main-card{border-radius:12px 12px 82px}.contact-methods{background:var(--card-muted);border-radius:26px 8px;padding:0 18px}@media (max-width:1050px){.vcard-layout{grid-template-columns:250px minmax(0,1fr)}.content-card-body{padding-left:30px;padding-right:30px}.portfolio-browser{grid-template-columns:174px minmax(0,1fr)}}@media (max-width:900px) and (min-width:781px){.portfolio-browser{grid-template-columns:1fr}.project-index,.featured-project{grid-column:1}.project-index{grid-row:2}.featured-project{grid-row:3}}@media (max-width:780px){.vcard-page{padding:14px 12px 96px}.vcard-layout{max-width:560px}.profile-card,.content-card{border-radius:28px 28px 8px 70px}.profile-card{padding:20px}.profile-avatar{border-radius:22px 8px}.content-card{height:calc(100dvh - 175px)}.content-navbar{background:var(--foreground);box-shadow:0 -12px 28px color-mix(in srgb, var(--foreground) 20%, transparent);max-width:560px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border:0;border-radius:22px 22px 8px 8px;align-self:auto;width:min(560px,100vw - 24px);margin:0;bottom:0;left:50%;right:auto;transform:translate(-50%)}.content-navbar button{border-radius:15px 15px 15px 4px;min-height:44px;padding:8px 10px}.content-card-body{padding:27px 18px calc(106px + env(safe-area-inset-bottom))}.about-intro{border-radius:22px 22px 22px 70px;padding:25px 22px 28px;display:block}.about-intro-heading{border-bottom:0;margin-bottom:25px;padding:0}.about-intro-heading h3{font-size:clamp(2.75rem,13vw,4.4rem)}.about-facts{border-radius:5px 5px 22px 22px;padding:14px 16px}.about-facts div,.about-facts div+div{padding-left:0;padding-right:8px}.service-list,.resume-timeline,.resume-mini-section,.resume-mini-section+.resume-mini-section,.contact-methods{border-radius:22px 7px}.resume-mini-section,.resume-mini-section+.resume-mini-section{padding:20px}.portfolio-intro{border-radius:16px 16px 16px 5px;flex-direction:column;align-items:flex-start;gap:9px}.portfolio-browser{display:block}.portfolio-controls{border-radius:16px 16px 5px;margin-bottom:16px}.project-index{border-radius:22px 7px 22px 22px;margin-bottom:16px;padding:13px 13px 10px}.project-index-item{border-radius:14px 14px 14px 4px;padding:14px 11px}.project-index-item:hover,.project-index-item.is-selected{padding-left:11px}.featured-project{border-radius:7px 22px 68px;flex-direction:column;gap:13px;padding:12px;display:flex}.featured-project-visual,.featured-project-visual .project-visual{border-radius:13px 13px 13px 54px;min-height:265px}.featured-project-copy{border-radius:13px 54px 13px 13px;padding:24px 20px}.featured-project-copy h3{font-size:3.2rem}.contact-main-card{border-radius:10px 10px 64px}}@media (max-width:480px){.content-navbar button{padding-left:7px;padding-right:7px;font-size:.6rem}.about-intro-heading h3{font-size:2.85rem}.featured-project-visual,.featured-project-visual .project-visual{min-height:220px}.featured-project-copy h3{font-size:2.8rem}}.about-intro{align-items:stretch}.about-intro-heading,.about-intro-copy{align-self:stretch}.about-intro-copy{flex-direction:column;display:flex}.about-work-link{align-self:flex-start;margin-top:auto}.portfolio-browser,.portfolio-controls,.project-index,.featured-project,.featured-project-visual,.featured-project-copy{min-width:0;max-width:100%}.featured-project-copy h3,.featured-project-copy>p,.featured-project-meta,.featured-project-focus{overflow-wrap:anywhere;min-width:0}.featured-project-visual .project-visual,.visual-content{min-width:0;max-width:100%}.visual-toolbar{gap:6px;min-width:0}.visual-toolbar>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@media (max-width:1180px) and (min-width:781px){.featured-project{grid-template-columns:1fr}.featured-project-visual,.featured-project-visual .project-visual{min-height:320px}}@media (max-width:900px) and (min-width:781px){.about-intro{display:block}.about-intro-heading{margin-bottom:25px}}@media (max-width:780px){.profile-card{border-radius:28px 28px 8px 70px}.content-card{border-radius:28px 28px 70px 8px}.filter-list{flex-wrap:wrap;max-width:100%}.portfolio-count{overflow-wrap:anywhere}.reservation-visual-content{grid-template-columns:minmax(0,1fr) minmax(56px,76px)}.visual-tables{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.visual-tables i{width:auto;min-width:0}.vkiosk-visual-content{grid-template-columns:minmax(44px,.32fr) minmax(0,1fr) minmax(60px,.44fr);gap:7px}}@media (max-width:340px){.content-card-body{padding-left:14px;padding-right:14px}.reservation-visual-content{grid-template-columns:minmax(0,1fr) 56px;gap:6px}.visual-content{padding:7px}.visual-tables{gap:2px}}.section-title-chip{background:var(--accent-soft);border-radius:11px 11px 11px 4px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.resume-item-content{transition:transform .18s}.resume-item:hover .resume-item-content{transform:translate(4px)}.resume-item.is-current .resume-item-marker i{animation:2.4s cubic-bezier(.22,1,.36,1) infinite resume-pulse}@keyframes resume-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent), 0 0 0 1px var(--accent)}70%{box-shadow:0 0 0 9px transparent, 0 0 0 1px var(--accent)}to{box-shadow:0 0 0 0 transparent, 0 0 0 1px var(--accent)}}.resume-icon-chip{background:var(--card);border:1px solid var(--border);color:var(--accent);border-radius:13px 13px 13px 4px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.resume-year-chip{background:var(--card);border:1px solid var(--border);color:var(--accent);border-radius:10px 10px 10px 3px;margin-bottom:14px;padding:6px 9px;font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem;display:inline-block}.skill-bar-track{background:var(--card);border:1px solid var(--border);border-radius:99px;height:8px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 45%, var(--foreground)));border-radius:99px;height:100%;display:block}.resume-tech-cloud{background:var(--card-muted);border-radius:26px 8px;margin-top:18px;padding:20px 22px}.tech-chip{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:11px 11px 11px 4px;padding:6px 10px;font-size:.62rem;line-height:1.4;transition:border-color .18s,color .18s,transform .18s}.tech-chip:hover{border-color:var(--accent);color:var(--foreground);transform:translateY(-2px)}@media (max-width:780px){.resume-tech-cloud{padding:18px 16px}.skill-bar-head>span{font-size:.68rem}}:root{--v3-card-radius:18px;--v3-small-radius:10px;--v3-chip-radius:7px;--gradient-card:linear-gradient(to bottom right, #457b9d 3%, #1d3557 97%);--gradient-muted:linear-gradient(to bottom right, #a8dadc 3%, #457b9d 97%)}.dark{--gradient-card:linear-gradient(to bottom right, #5c8db8 3%, #457b9d 97%);--gradient-muted:linear-gradient(to bottom right, #a8dadc 3%, #457b9d 97%)}.vcard-page{padding:42px 20px 72px}.vcard-layout{grid-template-columns:280px minmax(0,1fr);gap:24px;max-width:1200px}.profile-card{background:var(--card);border:2px solid #ffffffd9;border-radius:32px;padding:28px 24px 22px;top:42px;box-shadow:12px 18px 36px #1d35571f,-10px -10px 28px #fffffff2,inset 3px 3px 6px #ffffffe6,inset -3px -3px 6px #1d35570d}.content-card{height:calc(var(--profile-card-height,calc(100vh - 84px)));border:2px solid #ffffffd9;border-radius:32px;max-height:900px;box-shadow:12px 18px 36px #1d35571f,-10px -10px 28px #fffffff2,inset 3px 3px 6px #ffffffe6,inset -3px -3px 6px #1d35570d}.dark .profile-card,.dark .content-card{border:1px solid #f1faee2e;box-shadow:14px 20px 42px #0000008c,-8px -8px 24px #ffffff0d,inset 2px 2px 5px #ffffff26,inset -3px -3px 8px #00000073}.dark .content-navbar{box-shadow:0 2px 6px #0000005c,0 8px 22px #0006,0 16px 36px -12px #0000008c}.profile-avatar{border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);border-radius:26px;width:132px;height:132px}.profile-avatar span{background:var(--card);box-shadow:var(--clay-shadow-inset);letter-spacing:-.09em;z-index:1;border-radius:22px;padding:9px;font-family:SFMono-Regular,Consolas,monospace;font-size:1.25rem;font-weight:700;position:relative}.profile-avatar i{background:var(--accent);border:3px solid var(--card);border-radius:50%;width:11px;height:11px;position:absolute;bottom:10px;right:10px}.profile-identity h1{font-size:1.13rem}.profile-identity p{box-shadow:var(--clay-shadow-sm);border:var(--clay-border-sm);background:var(--card-muted);border-radius:12px}.profile-more-btn{box-shadow:var(--clay-shadow-sm);border-radius:0 0 14px 14px}.profile-icon{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--accent);z-index:1;border-radius:12px;width:36px;height:36px;position:relative}.profile-icon:before{display:none}.profile-icon svg{z-index:1;position:relative}.profile-card-footer{border-top:1px solid var(--border);margin-top:22px;padding-top:16px}.theme-toggle{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);border-radius:12px;transition:transform .18s,box-shadow .18s}.theme-toggle:hover{box-shadow:var(--clay-shadow-md);transform:translateY(-2px)}.profile-card-links{justify-content:center;gap:12px}.profile-card-links a{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);border-radius:12px;transition:transform .18s,box-shadow .18s,color .18s}.profile-card-links a:hover{color:var(--accent);box-shadow:var(--clay-shadow-md);transform:translateY(-2px)}.profile-download-cv{background:var(--accent);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);color:#fff;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:11px 14px;font-size:.72rem;font-weight:600;transition:background .18s,gap .18s,transform .18s,box-shadow .18s;display:flex}.profile-download-cv:hover{background:var(--foreground);box-shadow:var(--clay-shadow-lg);gap:11px;transform:translateY(-3px)}.profile-download-cv:active{box-shadow:var(--clay-shadow-inset);transform:translateY(1px)}.profile-download-cv:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.content-navbar{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);z-index:3;border-radius:20px;justify-content:flex-end;align-items:center;gap:6px;width:max-content;margin:0;padding:6px 8px;display:flex;position:absolute;top:14px;right:14px}.content-navbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;padding:8px 15px;font-size:.75rem;font-weight:500;transition:all .2s cubic-bezier(.22,1,.36,1)}.content-navbar button:hover{color:var(--foreground);background:var(--card);box-shadow:var(--clay-shadow-sm)}.content-navbar button.is-active{background:var(--foreground);color:var(--card);box-shadow:var(--clay-shadow-inset)}.content-card-body{padding:60px 34px 40px}.article-header{margin-bottom:30px;padding:0}.article-title{font-size:clamp(1.8rem,3.4vw,2.4rem)}.about-intro{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr);gap:32px;padding:7px 0 25px;display:grid;overflow:visible}.about-intro:after{display:none}.about-intro-heading{border-right:1px solid var(--border);padding-right:28px}.about-intro-heading h3{letter-spacing:-.09em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:600;line-height:.89}.about-intro-heading h3 span{display:block}.about-intro-heading h3 span:nth-child(2){color:var(--accent)}.about-intro-heading h3 span:nth-child(3){padding-bottom:.25em;display:block!important}.about-intro-copy{align-self:end;max-width:510px;padding-bottom:2px}.about-intro-copy p{color:var(--muted);margin:0;font-size:.87rem;line-height:1.75}.about-intro-copy p+p{margin-top:13px}.about-work-link{background:var(--accent);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);color:#fff;cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:7px;margin-top:22px;padding:10px 16px;font-size:.75rem;transition:background .18s,gap .18s,transform .18s,box-shadow .18s;display:inline-flex}.about-work-link:hover{background:var(--foreground);box-shadow:var(--clay-shadow-lg);gap:10px;transform:translateY(-3px)}.about-work-link:active{box-shadow:var(--clay-shadow-inset);transform:translateY(1px)}.about-facts{color:var(--foreground);background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px;padding:0;display:grid}.about-facts div,.about-fact-item{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);border-radius:18px;flex-direction:column;gap:4px;padding:16px 18px;transition:transform .18s,box-shadow .18s;display:flex}.about-fact-item:hover{box-shadow:var(--clay-shadow-md);transform:translateY(-2px)}.about-facts div+div,.about-fact-item+.about-fact-item{border-left:var(--clay-border-sm);padding-left:18px}.about-facts strong{color:var(--accent);letter-spacing:-.08em;font-family:SFMono-Regular,Consolas,monospace;font-size:1.25rem;font-weight:500}.about-facts span{color:var(--muted);font-size:.6rem}.service-grid,.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.service-item{background:var(--card);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);text-align:center;z-index:1;border-radius:22px;padding:24px 20px;transition:transform .2s,box-shadow .2s,color .2s;display:block;position:relative}.service-item:before{display:none}.service-item:nth-child(2n){border:var(--clay-border-sm);padding:24px 20px}.service-item:hover{color:var(--foreground);box-shadow:var(--clay-shadow-lg);padding-left:20px;padding-right:20px;transform:translateY(-4px)}.service-item:nth-child(2n):hover{padding:24px 20px}.service-index{display:none}.service-item .service-icon{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--accent);z-index:1;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 16px;display:inline-flex;position:relative}.service-item .service-icon:before{display:none}.service-item .service-icon svg{z-index:1;position:relative}.service-item p{color:var(--muted);max-width:none;margin:0;font-size:.7rem;line-height:1.6}.resume-section{margin-top:32px}.resume-timeline{background:0 0;border:0;border-radius:0;margin-left:0;padding:0}.resume-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:17px;display:grid}.resume-timeline-col{min-width:0}.resume-timeline-col .section-title-row{margin-bottom:18px}.resume-timeline-items{margin:0;padding:0;list-style:none;position:relative}.resume-timeline-items:before{background:var(--border-strong);content:"";width:1px;position:absolute;top:3px;bottom:3px;left:5px}.resume-tl-item{padding-left:28px;position:relative}.resume-tl-item+.resume-tl-item{margin-top:26px}.resume-timeline-items .tl-dot{background:var(--accent);box-shadow:var(--clay-shadow-sm);border-radius:50%;width:13px;height:13px;position:absolute;top:3px;left:-1px}.resume-timeline-items .tl-period{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-family:SFMono-Regular,Consolas,monospace;font-size:.54rem;display:block}.resume-timeline-items .tl-heading{letter-spacing:-.04em;margin:0 0 2px;font-size:.92rem;font-weight:600}.resume-timeline-items .tl-sub{color:var(--muted);margin:0;font-size:.72rem}.resume-timeline-items .tl-desc{color:var(--muted);margin:8px 0 0;font-size:.7rem;line-height:1.55}.resume-tl-bullets{flex-direction:column;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:flex}.resume-tl-bullets li{color:var(--muted);align-items:flex-start;gap:7px;font-size:.68rem;line-height:1.55;display:flex}.resume-tl-bullets svg{color:var(--accent);flex:none;margin-top:3px}.resume-bottom-grid{gap:18px;margin-top:32px}.resume-mini-section,.resume-mini-section+.resume-mini-section{background:var(--card);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);border-radius:22px;padding:22px}.resume-mini-section+.resume-mini-section{border-left:var(--clay-border-sm)}.resume-card-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.resume-icon-chip{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--accent);z-index:1;border-radius:14px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.resume-icon-chip:before{display:none}.resume-card-title{letter-spacing:-.04em;margin:0;font-size:.98rem}.resume-card-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-family:SFMono-Regular,Consolas,monospace;font-size:.5rem;display:block}.resume-card-note{color:var(--muted);margin:-7px 0 16px;font-size:.62rem;line-height:1.5}.resume-year-chip{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--accent);border-radius:12px;margin-bottom:14px;padding:6px 11px;font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem;display:inline-block}.resume-school{letter-spacing:-.03em;margin:0 0 5px;font-size:.95rem}.skill-bar-list{flex-direction:column;gap:16px;margin-top:6px;display:flex}.skill-bar-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.skill-bar-head>span{letter-spacing:-.01em;font-size:.72rem;font-weight:500}.skill-bar-value{color:var(--accent);text-align:right;min-width:38px;font-family:SFMono-Regular,Consolas,monospace;font-size:.6rem}.skill-bar-track{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-inset);border-radius:99px;height:10px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--foreground)));box-shadow:var(--clay-shadow-sm);border-radius:99px;height:100%;display:block}.resume-tech-cloud{background:var(--card);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);border-radius:22px;margin-top:18px;padding:20px 22px}.resume-tech-cloud-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.resume-tech-cloud-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.55rem}.tech-chip-list{flex-wrap:wrap;gap:7px;display:flex}.tech-chip{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--muted);border-radius:12px;padding:6px 12px;font-size:.62rem;line-height:1.4;transition:border-color .18s,color .18s,transform .18s,box-shadow .18s}.tech-chip:hover{border-color:var(--accent);color:var(--foreground);box-shadow:var(--clay-shadow-md);transform:translateY(-2px)}.portfolio-filter-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.portfolio-filter-tabs{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-inset);border-radius:16px;gap:4px;padding:4px;display:flex}.portfolio-filter-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:8px 14px;font-size:.7rem;font-weight:500;transition:all .18s}.portfolio-filter-tabs button:hover{color:var(--foreground);transform:translateY(-1px)}.portfolio-filter-tabs button.is-active{background:var(--foreground);color:var(--card);box-shadow:var(--clay-shadow-sm)}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}button.portfolio-card{background:var(--card);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);color:inherit;cursor:pointer;font:inherit;text-align:left;border-radius:22px;width:100%;padding:0;transition:box-shadow .2s,transform .2s;display:block;overflow:hidden}.portfolio-card-image{aspect-ratio:4/3;background:var(--card-muted);position:relative;overflow:hidden}.portfolio-card-image img,.portfolio-card-image .project-thumb-fallback{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .28s}.portfolio-card:hover .portfolio-card-image img,.portfolio-card:hover .portfolio-card-image .project-thumb-fallback{transform:scale(1.1)}.portfolio-card-overlay{z-index:1;background:0 0;justify-content:center;align-items:center;transition:background .28s;display:flex;position:absolute;inset:0}.portfolio-card:hover .portfolio-card-overlay{background:#00000061}.portfolio-card-overlay .overlay-icon-box{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--accent);opacity:0;z-index:1;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;transition:opacity .28s,transform .28s;display:flex;position:relative;transform:scale(.5)}.portfolio-card-overlay .overlay-icon-box:before{display:none}.portfolio-card:hover .portfolio-card-overlay .overlay-icon-box{opacity:1;transform:scale(1)}.portfolio-card-caption{padding:18px 20px}.portfolio-card-caption h4{letter-spacing:-.03em;text-transform:capitalize;margin:0 0 5px;font-size:.88rem;font-weight:600}.portfolio-card-caption .portfolio-card-category{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem}.project-thumb-fallback{background:linear-gradient(135deg, var(--card-muted), var(--card));justify-content:center;align-items:center;display:flex}.project-thumb-fallback span{color:var(--accent);letter-spacing:-.06em;opacity:.35;font-family:SFMono-Regular,Consolas,monospace;font-size:1.2rem;font-weight:700}.filter-count{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.56rem}.contact-page{gap:24px;display:grid}.contact-header-row{align-items:center;gap:18px;margin-bottom:24px;display:flex}.contact-info-card{background:var(--card);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);border-radius:22px;padding:22px}.contact-info-card h3{letter-spacing:-.04em;align-items:center;gap:9px;margin:0 0 18px;font-size:1.05rem;font-weight:600;display:inline-flex}.contact-info-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.contact-info-list li{align-items:center;gap:11px;display:flex}.contact-info-list li .ci-icon{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--accent);z-index:1;border-radius:12px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative}.contact-info-list li .ci-icon:before{display:none}.contact-info-list li .ci-icon svg{z-index:1;position:relative}.contact-info-list li>div{flex-direction:column;min-width:0;display:flex}.contact-info-list li .ci-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.5rem}.contact-info-list li a,.contact-info-list li .ci-value{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.73rem;line-height:1.4;overflow:hidden}.contact-info-list li a:hover{color:var(--accent)}.contact-form-card{background:var(--card);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);border-radius:22px;padding:22px}.contact-form-card h3{letter-spacing:-.04em;align-items:center;gap:9px;margin:0 0 18px;font-size:1.05rem;font-weight:600;display:inline-flex}.contact-context-note{background:var(--accent-soft);color:var(--muted);border-radius:12px;margin:-4px 0 18px;padding:10px 12px;font-size:.68rem;line-height:1.55}.contact-context-note strong{color:var(--foreground);font-weight:600}.contact-form{flex-direction:column;gap:14px;display:flex}.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-field{flex-direction:column;gap:6px;display:flex}.contact-field label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.56rem}.contact-form input,.contact-form textarea{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-inset);color:var(--foreground);border-radius:14px;width:100%;padding:12px 14px;font-family:inherit;font-size:.82rem;line-height:1.5;transition:border-color .18s,box-shadow .18s}.contact-form input::-moz-placeholder{color:var(--muted)}.contact-form textarea::-moz-placeholder{color:var(--muted)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:var(--clay-shadow-inset), 0 0 0 3px var(--accent-soft);outline:none}.contact-form textarea{resize:vertical;min-height:120px}.contact-form-note{color:var(--muted);margin:-2px 0 0;font-size:.62rem;line-height:1.55}.contact-form-note a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.contact-form button{background:var(--accent);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-md);color:#fff;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:fit-content;padding:12px 22px;font-size:.78rem;font-weight:600;transition:background .18s,transform .18s,gap .18s,box-shadow .18s;display:inline-flex}.contact-form button:hover{background:var(--foreground);box-shadow:var(--clay-shadow-lg);gap:12px;transform:translateY(-3px)}.contact-form button:active{box-shadow:var(--clay-shadow-inset);transform:translateY(1px)}.contact-form button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width:1050px){.vcard-layout{grid-template-columns:250px minmax(0,1fr);gap:18px}.content-card-body{padding-left:26px;padding-right:26px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px) and (min-width:781px){.resume-timeline-grid{grid-template-columns:1fr}}@media (max-width:780px){.vcard-page{padding:14px 12px 96px}.vcard-layout{grid-template-columns:1fr;gap:14px;max-width:560px;display:grid}.profile-card{border-radius:20px;padding:18px;position:static;top:auto}.profile-card-intro{text-align:center;flex-direction:column;align-items:center;min-height:auto;padding-right:0}.profile-avatar{border-radius:16px;width:110px;height:110px;margin:0 auto 16px}.profile-identity{padding-top:0}.profile-identity h1{font-size:1.13rem}.profile-identity p{margin-top:11px;font-size:.68rem}.content-card{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:20px;height:calc(100dvh - 170px);min-height:auto;max-height:none;margin-top:0}.content-navbar{background:var(--card-muted);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:0 -6px 24px color-mix(in srgb, var(--foreground) 18%, transparent);max-width:none;padding:5px 8px calc(5px + env(safe-area-inset-bottom));z-index:20;border-bottom:0;border-radius:18px 18px 0 0;justify-content:center;gap:2px;width:auto;margin:0;display:flex;position:fixed;inset:auto 12px 0;transform:none}.content-navbar button{color:var(--muted);background:0 0;border-radius:11px;justify-content:normal;align-items:normal;min-height:40px;padding:7px 12px;font-size:.68rem;font-weight:500;transition:background-color .18s,color .18s;display:inline}.content-navbar button:hover{background:var(--card);color:var(--foreground)}.content-navbar button.is-active{background:var(--foreground);color:var(--card)}.content-card-body{padding:20px 16px calc(100px + env(safe-area-inset-bottom));padding-top:20px}.about-intro{padding-bottom:18px;display:block}.about-intro-heading{border-right:0;margin-bottom:22px;padding-right:0}.about-intro-heading h3{font-size:clamp(2rem,8vw,3rem)}.about-intro-copy{padding-bottom:0}.about-facts{grid-template-columns:repeat(3,1fr)}.about-facts div,.about-facts div+div,.about-fact-item{padding:8px}.about-facts div+div,.about-fact-item+.about-fact-item{border-left:1px solid var(--border)}.about-facts strong{font-size:1rem}.service-grid,.service-list,.resume-timeline-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portfolio-card-caption{padding:14px 16px}.contact-page,.contact-form-row{grid-template-columns:1fr}}@media (max-width:480px){.portfolio-grid{grid-template-columns:1fr}.about-facts strong{font-size:.9rem}.about-intro-heading h3{font-size:1.85rem}.content-navbar button{min-height:36px;padding:6px 9px;font-size:.58rem}}.article-title{padding-bottom:12px;position:relative}.article-title:after{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 50%, var(--foreground)));content:"";border-radius:3px;width:34px;height:3px;position:absolute;bottom:0;left:0}.profile-avatar:before,.profile-avatar:after{display:none}.profile-avatar{background:var(--gradient-card);padding:0}.profile-avatar span{background:var(--card-components);border-radius:inherit;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex}.profile-avatar img{background:var(--card-components);border-radius:inherit;-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;width:100%;height:100%;display:block}.service-item{text-align:center;flex-direction:column;align-items:flex-start;gap:14px;display:flex}.service-content{flex-direction:column;gap:6px;display:flex}.service-item .service-icon{margin:0 auto}@media (min-width:581px){.service-item,.service-item:nth-child(2n){text-align:left;flex-direction:row;align-items:flex-start;gap:18px;padding:30px;display:flex}.service-item .service-icon{flex:none;margin:0}}.skill-bar-value-wrap{color:var(--accent);text-align:right;min-width:38px;font-family:SFMono-Regular,Consolas,monospace;font-size:.6rem}.project-thumb{background:linear-gradient(135deg, var(--card-muted), var(--card));flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.project-thumb-bar{background:var(--card);border-bottom:1px solid var(--border);letter-spacing:.08em;align-items:center;gap:7px;padding:6px 9px;font-family:SFMono-Regular,Consolas,monospace;font-size:.4rem;display:flex}.project-thumb-dots{gap:3px;display:inline-flex}.project-thumb-dots i{background:var(--muted);opacity:.4;border-radius:50%;width:4px;height:4px;display:block}.project-thumb-label{color:var(--muted);letter-spacing:.08em;opacity:.5;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.42rem}.project-thumb-disclaimer{color:var(--accent);letter-spacing:.06em;white-space:nowrap;margin-left:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:.34rem}.project-thumb-body{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;position:relative}.thumb-mini-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.4rem}.thumb-mini-rail{flex-direction:column;gap:3px;width:18px;display:flex}.thumb-mini-rail i{background:var(--accent);opacity:.5;border-radius:2px;width:100%;height:8px}.thumb-mini-grid{flex-direction:column;flex:1;align-items:stretch;gap:4px;display:flex}.thumb-mini-row{background:var(--card);border:1px solid var(--border);border-radius:3px;align-items:center;gap:4px;padding:3px;display:flex}.thumb-mini-row i{background:var(--card-muted);border-radius:2px;flex:1;height:8px}.thumb-mini-row i:first-child{flex:0 0 30%}.thumb-floor-grid{flex:1;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:6px;display:grid}.thumb-floor-grid i{background:var(--card);border:1px solid var(--border);color:var(--accent);border-radius:3px;justify-content:center;align-items:center;height:16px;font-family:SFMono-Regular,Consolas,monospace;font-size:.38rem;display:flex}.tb-0,.tb-3{background:var(--accent-soft)}.tb-1{background:color-mix(in srgb, var(--accent) 20%, var(--card))}.vkiosk-thumb{grid-template-rows:auto 32px;grid-template-columns:22px 1fr;gap:5px;display:grid}.thumb-kiosk-menu{background:var(--card);border:1px solid var(--border);border-radius:4px;flex-direction:column;grid-row:1/3;justify-content:flex-start;align-items:center;gap:2px;padding:4px 2px;display:flex}.thumb-kiosk-menu b{background:var(--accent);color:#fff;border-radius:2px;padding:2px;font-family:SFMono-Regular,Consolas,monospace;font-size:.38rem;font-weight:600}.thumb-kiosk-products{background:var(--card);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:3px;padding:4px;display:flex}.thumb-product-row{gap:3px;display:flex}.thumb-product-row i{background:var(--card-muted);border-radius:2px;flex:1;height:10px}.thumb-kiosk-order{background:var(--accent);color:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;padding:0 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:.4rem;display:flex}button.portfolio-card{background:var(--card);border:1px solid var(--border);border-radius:var(--v3-card-radius);color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%;padding:0;transition:box-shadow .18s,transform .18s;display:block;overflow:hidden}button.portfolio-card:hover{box-shadow:var(--shadow-small);transform:translateY(-3px)}button.portfolio-card .portfolio-card-image img,button.portfolio-card .portfolio-card-image .project-thumb{transition:transform .28s}button.portfolio-card:hover .portfolio-card-image .project-thumb{transform:scale(1.08)}.project-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.project-modal{background:var(--card);border:var(--clay-border);box-shadow:var(--clay-shadow-lg);border-radius:30px;gap:22px;width:100%;max-width:720px;padding:28px;display:grid;position:relative;overflow:hidden}.project-modal-close{background:var(--card-muted);border:var(--clay-border-sm);box-shadow:var(--clay-shadow-sm);color:var(--muted);cursor:pointer;z-index:2;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .18s;display:inline-flex;position:absolute;top:16px;right:16px}.project-modal-close:hover{background:var(--accent);color:#fff;box-shadow:var(--clay-shadow-md);transform:translateY(-2px)}.project-modal-image{aspect-ratio:16/9;border-radius:12px;overflow:hidden}.project-modal-image .project-thumb{background:var(--card-muted)}.project-modal-content{flex-direction:column;gap:14px;display:flex}.project-modal-preview-note{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:.55rem;line-height:1.5}.project-modal-evidence{border-top:1px solid var(--border);padding-top:14px}.project-modal-evidence-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.project-modal-evidence-list li{color:var(--muted);align-items:flex-start;gap:7px;font-size:.68rem;line-height:1.55;display:flex}.project-modal-evidence-list svg{color:var(--accent);flex:none;margin-top:3px}.project-focus-label{margin-bottom:-8px}.project-modal-content h3{color:var(--foreground);letter-spacing:-.04em;text-transform:capitalize;margin:0;font-size:1.4rem;font-weight:600}.project-modal-summary{color:var(--muted);margin:0;font-size:.82rem;line-height:1.65}.project-modal-meta{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.project-modal-meta>div{flex-direction:column;gap:7px;display:flex}@media (min-width:581px){.project-modal{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.project-modal-meta{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}.service-item .service-icon{background:var(--gradient-card);box-shadow:none;color:var(--accent);border:0;border-radius:10px;justify-content:center;width:44px;height:44px;display:inline-flex;position:relative}.service-item h4{letter-spacing:-.03em;margin:0 0 7px;font-size:.9rem}.service-item p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.6}.contact-form button.is-disabled{background:var(--card-muted);border:1px solid var(--border);color:var(--muted);cursor:not-allowed}.contact-form button.is-disabled:hover{opacity:1;gap:8px;transform:none}.contact-form button.is-sending{cursor:progress}.contact-form-status{background:var(--accent-soft);color:var(--accent);border-radius:10px;margin:0;padding:10px 14px;font-size:.72rem}@media (max-width:580px){.project-modal{padding:20px}.project-modal-image{aspect-ratio:4/3}.project-modal-content h3{font-size:1.15rem}}@media (max-width:480px){.project-thumb-disclaimer{font-size:.3rem}}.project-modal{overscroll-behavior:contain;min-width:0;max-height:calc(100dvh - 48px);overflow-y:auto}.project-modal-content,.project-modal-meta,.contact-form,.contact-field{min-width:0}.project-modal-content,.project-modal-summary,.project-modal-preview-note,.project-modal-evidence-list,.contact-context-note,.contact-form-note{overflow-wrap:anywhere}.project-thumb-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:780px){.content-card{height:auto;max-height:none;overflow:visible}.content-card-body{height:auto;min-height:0;max-height:none;padding-bottom:calc(124px + env(safe-area-inset-bottom));overflow:visible}.content-navbar button,.about-work-link,.case-link,.profile-download-cv,.theme-toggle,.portfolio-filter-tabs button{min-height:44px}.content-navbar button{justify-content:center;align-items:center;display:inline-flex}.contact-info-list li{min-height:44px}.contact-info-list li a,.contact-info-list li .ci-value{overflow-wrap:anywhere;white-space:normal;max-width:none}.contact-form input,.contact-form textarea{font-size:1rem}.project-modal{max-height:calc(100dvh - 24px);padding:20px}}@media (max-width:480px){.content-navbar button{min-height:44px;padding:8px 9px;font-size:.6rem}}@media (hover:none),(pointer:coarse){button.portfolio-card:hover{box-shadow:none;transform:none}button.portfolio-card:hover .portfolio-card-image .project-thumb{transform:none}.portfolio-card-overlay{background:#0000002e}.portfolio-card-overlay .overlay-icon-box{opacity:1;transform:scale(.9)}.service-item:hover{box-shadow:var(--shadow-small);transform:none}.tech-chip:hover{border-color:var(--border);color:var(--muted);transform:none}}@media (min-width:640px){.sm\:p-4{padding:1rem}}@media (min-width:768px){.md\:h-180{height:45rem}.md\:h-220{height:55rem}.md\:h-265{height:66.25rem}.md\:h-8{height:2rem}.md\:w-145{width:36.25rem}.md\:w-180{width:45rem}.md\:w-220{width:55rem}.md\:w-265{width:66.25rem}.md\:w-8{width:2rem}}
