@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_173403c7-module__czr2iW__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_173403c7-module__czr2iW__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Satoshi;src:url(/fonts/satoshi-regular.otf)format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-medium.otf)format("opentype");font-weight:500;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-bold.otf)format("opentype");font-weight:700;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.skip-link{background:var(--color-text-primary);color:var(--color-bg);border-radius:var(--radius-sm);font-size:var(--fs-small);z-index:9999;padding:8px 16px;text-decoration:none;position:absolute;top:-100%;left:16px}.skip-link:focus{top:16px}:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}:root{--color-bg:#fff;--color-left-bg:#fafafa;--color-text-primary:#111;--color-text-secondary:#666;--color-text-tertiary:#888;--color-border:#f0f0f0;--color-border-subtle:#0000000d;--color-border-mid:#00000014;--color-border-active:#00000029;--color-border-hover:#00000024;--color-surface-subtle:#00000008;--color-timeline:#d7d7d7;--tabbar-fade-rgb:250, 250, 250;--btn-primary-bg:#111;--btn-primary-text:#fff;--btn-ghost-bg:#fffc;--btn-ghost-text:#444;--btn-ghost-border:#0000000d;--color-status-online:#22c55e;--color-error:#e5484d;--color-placeholder:#e2e2e2;--glass-bg:#fefefec7;--glass-border:#ffffffe6;--glass-shadow:0 1px 2px #0000000a, 0 0 0 1px #0000000a;--shadow-card:0 0 0 1px #0000000a, 0 1px 2px #0000000d, 0 8px 24px -8px #0000000f;--shadow-elevated:0 0 0 1px #0000000f, 0 2px 6px #0000000f, 0 16px 40px -12px #0000001a;--shadow-image:0 1px 2px #00000008, 0 4px 12px -10px #00000014;--ease-smooth:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.17, 1, .32, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-normal:.2s;--dur-slow:.28s;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--content-max:860px;--card-pad:32px;--page-pad-bottom:64px;--page-pad-x:32px;--font-main:"Satoshi", sans-serif;--font-body:var(--font-inter,"Inter"), sans-serif;--fs-display:40px;--fs-h2:28px;--fs-card:24px;--fs-sub:20px;--fs-body-l:20px;--fs-body:16px;--fs-body-s:16px;--fs-small:14px;--fs-eyebrow:14px;--fs-label:16px;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.5;--lh-relaxed:1.7;--fw-regular:400;--fw-title:500;--fw-eyebrow:600;--fw-button:700;--glass-bg-solid:#fefefee6;--radius-xs:6px}html{-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;font-size:16px}body{background:var(--color-left-bg);color:var(--color-text-primary);font-family:var(--font-main);min-height:100vh}@keyframes pageEnter{0%{opacity:0;filter:blur(6px);transform:scale(.9)}to{opacity:1;filter:blur();transform:none}}@keyframes pageEnterFlat{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}#main-content>.page-home,#main-content>.page-cv,#main-content>.page-about,#main-content>.page-blog{animation:pageEnter .42s var(--ease-out);transform-origin:top}#main-content>.page-cv{animation-name:pageEnterFlat}.theme-toggle{z-index:950;border:1px solid var(--glass-border);background:var(--glass-bg-solid);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform var(--dur-fast) var(--ease-in-out), color var(--dur-fast) var(--ease-in-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:auto;bottom:24px;right:24px}.theme-toggle:hover{color:var(--color-text-primary);transform:scale(1.06)}[data-theme=dark] .theme-toggle{background:var(--glass-bg-solid);border-color:#ffffff14}@media (max-width:640px){.theme-toggle{top:16px;bottom:auto;right:16px}}.connect-trigger{background:var(--color-text-primary);width:56px;height:56px;color:var(--color-bg);cursor:pointer;box-shadow:var(--shadow-elevated);transition:transform var(--dur-fast) var(--ease-in-out);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.connect-trigger:active{transform:scale(.96)}.modal-backdrop{z-index:1000;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay{-webkit-backdrop-filter:blur();backdrop-filter:blur();z-index:-1;background:#00000005;position:absolute;inset:0}.modal-backdrop.is-open{display:flex}.modal{border:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px);background:#fffc;position:relative}[data-theme=dark] .modal{background:#222c}.modal-close{z-index:10;border:1px solid var(--glass-border);background:var(--glass-bg-solid);width:40px;height:40px;color:var(--color-text-secondary);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;transition:transform var(--dur-fast) var(--ease-in-out), color var(--dur-fast) var(--ease-in-out), box-shadow var(--dur-fast) var(--ease-in-out);border-radius:50%;justify-content:center;align-items:center;font-size:0;line-height:0;display:flex;position:absolute;top:24px;right:24px}.modal-close:hover{color:var(--color-text-primary);box-shadow:var(--shadow-elevated);transform:scale(1.06)}[data-theme=dark] .modal-close{background:var(--glass-bg-solid);border-color:#ffffff14}.modal-backdrop--right{justify-content:flex-end;padding:24px}.modal--connect{border-radius:var(--radius-lg);opacity:0;width:100%;max-width:360px;height:100%;max-height:100%;padding:0;overflow:hidden;box-shadow:0 4px 12px #0000000f}.modal-scroll{scrollbar-width:none}.modal-scroll::-webkit-scrollbar{display:none}.modal--connect .modal-scroll{height:100%;padding:40px 16px 16px;overflow-y:auto}.connect-header{text-align:center;flex-direction:column;align-items:center;gap:0;margin-bottom:14px;display:flex}.connect-avatar{object-fit:cover;border-radius:50%;width:96px;height:96px;margin-bottom:16px}.connect-name{font-family:var(--font-main);font-size:var(--fs-h2);font-weight:var(--fw-regular);color:var(--color-text-primary);line-height:var(--lh-snug);margin:0 0 4px;padding:0}.connect-email{font-family:var(--font-body), sans-serif;font-size:var(--fs-body);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--dur-fast) var(--ease-smooth);align-items:center;gap:6px;display:inline-flex}.connect-email:hover{color:var(--color-text-primary)}.connect-email svg{flex-shrink:0;width:14px;height:14px;transform:translateY(2px)}.modal--connect .connect-categories{flex-direction:column;gap:16px;display:flex}.modal--connect .connect-category{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-card);padding:8px;display:block}.modal--connect .connect-category-title{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);font-weight:var(--fw-regular);color:var(--color-text-tertiary);padding:8px 10px;display:block}.modal--connect .connect-category-items{flex-direction:column;padding-bottom:0;display:flex}.modal--connect .connect-item{align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:flex;position:relative}.modal--connect .connect-item .connect-icon,.modal--connect .connect-item .connect-icon--sm{border-radius:var(--radius-xs);background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden}.modal--connect .connect-icon svg,.modal--connect .connect-icon--sm svg{visibility:visible;width:28px;height:28px}.modal--connect .connect-label{font-family:var(--font-main);font-size:var(--fs-body-s);font-weight:var(--fw-title);color:var(--color-text-primary);flex:1}.modal--connect .connect-arrow{width:16px;height:16px;color:var(--color-text-tertiary);flex-shrink:0}.modal--connect .connect-arrow svg{width:16px;height:16px}.modal--connect .connect-arrow--code{width:auto;height:auto;font-size:var(--fs-eyebrow);font-family:var(--font-body), sans-serif;cursor:pointer;white-space:nowrap;color:var(--color-text-tertiary);align-items:center;gap:4px;display:inline-flex}.modal--connect .connect-arrow--code svg{width:14px;height:14px;transform:translateY(1px)}.connect-footer{font-family:var(--font-body), sans-serif;font-size:var(--fs-caption);color:var(--color-text-tertiary);justify-content:center;align-items:center;gap:8px;padding:16px 0 4px;display:flex}.connect-footer-item{align-items:center;gap:4px;display:inline-flex}.connect-footer-sep{color:var(--color-border-mid)}@media (max-width:900px){:root{--page-pad-x:24px}}@media (max-width:640px){:root{--page-pad-x:16px;--page-pad-bottom:calc(120px + env(safe-area-inset-bottom,0px));--fs-display:32px;--fs-h2:24px;--fs-card:20px;--fs-sub:16px;--fs-body-l:16px;--fs-body:14px;--fs-body-s:14px;--fs-small:12px;--fs-eyebrow:12px;--fs-label:14px}}[data-theme=dark]{--color-bg:#101010;--color-left-bg:#181818;--color-text-primary:#fff;--color-text-secondary:#ccc;--color-text-tertiary:#aaa;--color-border:#ffffff14;--color-border-subtle:#ffffff0d;--color-border-mid:#ffffff1f;--color-border-active:#ffffff29;--color-border-hover:#ffffff2e;--color-surface-subtle:#ffffff0a;--color-timeline:#2b2b2b;--tabbar-fade-rgb:24, 24, 24;--btn-primary-bg:#fff;--btn-primary-text:#101010;--btn-ghost-bg:#222c;--btn-ghost-text:#fff;--btn-ghost-border:#ffffff0d;--color-error:#f2555a;--color-placeholder:#333;--glass-bg-solid:#161616b3;--glass-bg:#1e1e208c;--glass-border:var(--color-border-subtle);--glass-shadow:0 1px 2px #0003, 0 0 0 1px #ffffff0a;--shadow-card:0 1px 2px #0000004d, 0 8px 24px -8px #0006;--shadow-elevated:0 2px 6px #0006, 0 16px 40px -12px #0000008c;--shadow-image:0 1px 2px #00000040, 0 4px 12px -10px #0006}.left{background:var(--color-left-bg);border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;width:100%;padding:72px 40px;display:flex;position:relative}.avatar{object-fit:cover;border-radius:50%;width:64px;height:64px;display:block;box-shadow:inset 0 0 0 1px #0000001a}.right{width:100%;max-width:var(--content-max);background:0 0;margin:0 auto;padding:96px 48px 160px 28px;position:relative}.right:before{content:"";top:var(--spine-top,99px);height:var(--spine-height,calc(100% - var(--spine-top,99px)));background:repeating-linear-gradient(to bottom, var(--color-timeline) 0px, var(--color-timeline) 1px, transparent 1px, transparent 12px);width:8px;position:absolute;left:4px}.section-label-row{flex-direction:row;gap:0;margin-bottom:40px;display:flex}.section-label-spacer{flex-shrink:0;width:200px}.section-label{min-width:0;font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary);flex:1}.case{flex-direction:row;align-items:flex-start;gap:0;margin-bottom:64px;display:flex}.case:last-child{margin-bottom:0}.case-meta{flex-shrink:0;align-self:flex-start;width:200px;padding-top:0;padding-right:24px;position:sticky;top:112px}.case-meta:before{content:"";left:-24px;top:var(--tick-top,50%);background:var(--color-timeline);width:16px;height:1px;position:absolute;transform:translateY(-50%)}.case-client{font-family:var(--font-main);font-size:var(--fs-body);font-weight:var(--fw-title);color:var(--color-text-primary);margin-bottom:3px}.case-year{font-family:var(--font-body), sans-serif;font-size:var(--fs-eyebrow);color:var(--color-text-tertiary);white-space:nowrap}.case-content{min-width:0;padding:var(--card-pad);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-card);flex-direction:column;flex:1;gap:16px;display:flex}.case-image{aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--color-left-bg);border:1px solid var(--color-border-subtle);width:100%;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000008}.case-content .case-image{margin:calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 0;border:none;border-radius:23px 23px 0 0;width:auto;box-shadow:0 5px 12px -12px #0000001a}.case-content .case-image+.case-title{margin-top:16px}.case-image img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.case-title{font-family:var(--font-main);font-size:var(--fs-card);font-weight:var(--fw-title);color:var(--color-text-primary);line-height:var(--lh-tight);margin-bottom:-4px}.case-desc{font-family:var(--font-body), sans-serif;font-size:var(--fs-body-s);line-height:var(--lh-relaxed);color:var(--color-text-secondary)}.impact-label{font-family:var(--font-main);font-size:var(--fs-body);font-weight:var(--fw-title);color:var(--color-text-primary);align-items:center;gap:8px;display:flex}.impact-label svg{flex-shrink:0}.impact-list{flex-direction:column;gap:10px;list-style:none;display:flex}.impact-list li{font-family:var(--font-body), sans-serif;font-size:var(--fs-body-s);line-height:var(--lh-relaxed);color:var(--color-text-secondary);padding-left:16px;position:relative}.impact-list li:before{content:"·";font-size:var(--fs-sub);color:var(--color-text-tertiary);position:absolute;left:4px}.connect-item{transition:transform var(--dur-fast) var(--ease-smooth);align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:flex;position:relative}.connect-item>*{z-index:1;position:relative}.connect-item:after{content:"";z-index:0;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transition:opacity var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);pointer-events:none;border-radius:14px;position:absolute;inset:3px 6px;transform:scale(.98)}.connect-item:hover:after,.connect-item:focus-visible:after{opacity:1;transform:scale(1)}.connect-icon{border-radius:var(--radius-xs);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex;overflow:hidden}.connect-icon svg{width:24px;height:24px}.connect-item .connect-icon,.connect-item .connect-icon--sm{background:var(--color-placeholder);border-radius:50%;width:24px;height:24px}.connect-icon svg{visibility:hidden}[data-theme=dark] .connect-item .connect-icon{background:#ffffff24}.connect-icon--sm,.connect-icon--sm svg{width:20px;height:20px}.connect-label{font-family:var(--font-main);font-size:var(--fs-body);font-weight:var(--fw-title);color:var(--color-text-primary);flex:1}.connect-arrow{width:16px;height:16px;color:var(--color-text-tertiary);flex-shrink:0}.connect-arrow svg{width:16px;height:16px}.connect-arrow--code{width:auto;height:auto;font-size:var(--fs-eyebrow);font-family:var(--font-body), sans-serif;cursor:pointer;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.connect-arrow--code svg{width:14px;height:14px;transform:translateY(1px)}.connect-toast{z-index:200;border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-text-primary) 86%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.6);backdrop-filter:blur(16px)saturate(1.6);color:var(--color-bg);font-family:var(--font-main);font-size:var(--fs-small);font-weight:var(--fw-button);box-shadow:var(--shadow-elevated);opacity:0;pointer-events:none;transition:opacity var(--dur-normal) var(--ease-smooth), transform var(--dur-normal) var(--ease-spring);align-items:center;gap:7px;padding:10px 18px;display:inline-flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(12px)}.connect-toast.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.connect-toast svg{flex-shrink:0}.about-title{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-card);line-height:var(--lh-tight);color:var(--color-text-primary);margin:24px 0 16px;padding-right:32px}.about-content h3{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-sub);color:var(--color-text-primary);margin:28px 0 16px}.about-content p{font-family:var(--font-body), sans-serif;font-size:var(--fs-body-s);line-height:var(--lh-relaxed);color:var(--color-text-secondary);margin-bottom:16px}.about-title,.about-content h3,.about-content p{max-width:none}.photo-slider{border-radius:0;margin:24px -40px;padding:16px 0;overflow:hidden}.photo-slider-track{gap:24px;width:max-content;animation:20s linear infinite sliderScroll;display:flex}.photo-slider-track img{border-radius:var(--radius-lg);object-fit:cover;width:240px;height:320px;box-shadow:var(--shadow-image);transition:transform var(--dur-slow) var(--ease-smooth);flex-shrink:0}.photo-slider-track img:nth-child(3n+1){transform:rotate(2deg)}.photo-slider-track img:nth-child(3n+2){transform:rotate(-2deg)}.photo-slider-track img:nth-child(3n){transform:rotate(1deg)}.photo-slider-track img:hover{transform:rotate(0)scale(1.02)}@keyframes sliderScroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 12px))}}.tabbar-fade{z-index:899;pointer-events:none;background:linear-gradient(to top, rgba(var(--tabbar-fade-rgb), 1) 20%, rgba(var(--tabbar-fade-rgb), .8) 50%, rgba(var(--tabbar-fade-rgb), 0) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:144px;position:fixed;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 40%);mask-image:linear-gradient(#0000 0%,#000 40%)}.tabbar{z-index:900;padding:24px 16px calc(24px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar>*{pointer-events:auto}.tabbar-pages{background:var(--glass-bg-solid);border:1px solid var(--glass-border);width:auto;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:60px;justify-content:center;align-items:center;gap:0;padding:8px;display:flex;position:relative}.tabbar-item{cursor:pointer;min-width:0;height:40px;color:var(--color-text-primary);transition:background var(--dur-fast) var(--ease-in-out), border-color var(--dur-fast) var(--ease-in-out), color var(--dur-fast) var(--ease-in-out), flex-grow var(--dur-normal) var(--ease-in-out);background:0 0;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 16px;display:flex;text-decoration:none!important}.tabbar-item.is-active{color:var(--color-text-primary);box-shadow:var(--shadow-card);background:#fff}.tabbar-icon{flex-shrink:0;display:flex}.tabbar-label{opacity:1;white-space:nowrap;max-width:160px;font-family:var(--font-main);font-weight:var(--fw-button);font-size:var(--fs-small);line-height:var(--lh-normal);transition:max-width var(--dur-normal) var(--ease-in-out), opacity var(--dur-fast) var(--ease-in-out), margin-left var(--dur-normal) var(--ease-in-out);margin-left:6px;overflow:hidden}@media (min-width:641px){.tabbar-fade{background:linear-gradient(to bottom, rgba(var(--tabbar-fade-rgb), 1) 20%, rgba(var(--tabbar-fade-rgb), .8) 50%, rgba(var(--tabbar-fade-rgb), 0) 100%);top:0;bottom:auto;-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.tabbar{justify-content:center;padding:0;top:32px;bottom:auto}}[data-theme=dark] .tabbar-pages{background:var(--glass-bg-solid)}[data-theme=dark] .tabbar-item.is-active{background:var(--glass-bg-solid);border-color:var(--color-border-active)}.tabbar-item:not(.is-active):hover{opacity:.7}#main-content{margin-left:0;padding-top:32px}@media (min-width:641px){#main-content{padding-top:152px}}@media (max-width:1215px){.case{position:relative}.case-meta,.section-label-spacer{width:120px}}@media (max-width:640px){.tabbar{padding:16px 12px calc(16px + env(safe-area-inset-bottom,0px));gap:8px}.tabbar-pages{width:auto;max-width:calc(100vw - 64px)}.tabbar-item{padding:0 10px}.tabbar-item.is-active{flex:none;min-width:116px;padding:0 16px}.tabbar-label{opacity:0;max-width:0;transition:opacity var(--dur-fast) var(--ease-smooth);margin-left:0}.tabbar-item.is-active .tabbar-label{opacity:1;max-width:160px;margin-left:8px}}@media (max-width:809px){.left{padding:48px 24px}.right{padding:40px 24px 100px 36px}.right:before{left:4px}.case{flex-direction:column;gap:64px;max-width:512px;margin-bottom:80px;margin-left:auto;margin-right:auto;position:relative}.case-meta{width:auto;padding-right:0;position:relative}.case-meta:before{left:min(254px - 50vw,-32px)}.case-content{max-width:100%;margin:0}.section-label-spacer{display:none}.section-label-row{max-width:512px;margin-left:auto;margin-right:auto}.section-label{margin-left:0;margin-right:0}}@media (max-width:479px){.left{padding:48px 24px}.right{padding:32px 24px 100px 36px}.case-image{border-radius:var(--radius-sm)}}.page-home{padding:0 var(--page-pad-x) var(--page-pad-bottom);position:relative}.home-inner{width:100%;max-width:var(--content-max);flex-direction:column;gap:32px;margin:0 auto;display:flex}.home-bento{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.bento-card{min-height:180px;padding:var(--card-pad);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-card);color:var(--color-text-primary);text-align:left;cursor:pointer;font-family:var(--font-main);transition:box-shadow var(--dur-slow) var(--ease-smooth), border-color var(--dur-fast) var(--ease-smooth);flex-direction:column;gap:16px;display:flex;position:relative;text-decoration:none!important}.bento-card:hover{border-color:var(--color-bg);box-shadow:var(--shadow-elevated)}[data-theme=dark] .bento-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-elevated)}@media (prefers-reduced-motion:no-preference){a.bento-card:active,.bento-connect:active{transform:scale(.985)}.tabbar-item:active,.theme-toggle:active,.btn:active,.connect-item:active,.blog-item:active{transform:scale(.98)}}.bento-card--wide{grid-column:span 6}.bento-pair{grid-column:span 6;grid-template-columns:minmax(0,1fr) 38%;align-items:stretch;gap:16px;display:grid}.bento-pair .bento-photos{aspect-ratio:auto;align-self:stretch}.bento-pair--halves{grid-template-columns:1fr 1fr}.bento-pair--halves .bento-photos{aspect-ratio:auto;align-self:stretch}.bento-playlists{grid-column:span 3}.bento-recent{background:linear-gradient(to bottom, rgba(var(--recent-accent,0,0,0), var(--recent-accent-alpha,0)) 0%, transparent 55%), var(--glass-bg);transition:background .6s ease, box-shadow var(--dur-slow) var(--ease-smooth), border-color var(--dur-fast) var(--ease-smooth);flex-direction:column;grid-column:span 3;gap:20px;display:flex}.recent-tabs{background:var(--glass-bg-solid);border:1px solid var(--glass-border);box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:60px;align-items:center;gap:0;padding:4px;display:flex;position:relative}.recent-tab-indicator{width:calc(33.3333% - 2.66667px);top:4px;bottom:4px;left:calc(4px + var(--active-idx,0) * ((100% - 8px) / 3));box-shadow:var(--shadow-card);pointer-events:none;background:#fff;border-radius:999px;transition:left .3s cubic-bezier(.34,1.2,.64,1);position:absolute}[data-theme=dark] .recent-tab-indicator{background:var(--glass-bg-solid);outline:1px solid var(--color-border-active)}.recent-tab{font-family:var(--font-main);font-size:var(--fs-small);font-weight:var(--fw-button);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;text-align:center;transition:opacity var(--dur-fast) var(--ease-in-out);z-index:1;background:0 0;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:5px;padding:5px 8px;display:inline-flex;position:relative}.recent-tab:not(.is-active):hover{opacity:.6}.recent-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;animation:.25s both stats-in;display:flex}.recent-artwork{background:var(--color-surface-subtle);border-radius:10px;flex-shrink:0;overflow:hidden}.recent-art-img{object-fit:cover;width:100%;height:100%;display:block}.recent-art--square{width:120px;height:120px}.recent-art--portrait{width:80px;height:120px}.recent-art--landscape{width:160px;height:90px}.recent-info{flex-direction:column;gap:3px;display:flex}.recent-title{font-family:var(--font-main);font-size:var(--fs-body-s);color:var(--color-text-primary);font-weight:500;line-height:1.3}.recent-sub{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-secondary)}.bento-articles{grid-column:span 4}.home-bento>.bento-photos{aspect-ratio:unset;grid-column:span 2;align-self:stretch}.bento-strakzat{grid-column:span 4}.bento-empty{grid-column:span 3}.bento-letstalk{color:#0a0a0a;background:#fff;flex-direction:column;grid-column:span 3;gap:12px;display:flex}.letstalk-title{flex-shrink:0;color:#0a0a0a!important}.letstalk-desc{color:#555}.letstalk-preview{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.letstalk-form{flex-shrink:0;align-items:center;display:flex}.letstalk-input{border:1px solid var(--color-border);color:#0a0a0a;height:36px;font-family:var(--font-body), sans-serif;font-size:var(--fs-small);background:#0000000d;border-radius:999px;outline:none;flex:1;min-width:0;padding:0 16px;font-weight:400;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #00000008,inset 0 0 0 1px #00000012}.letstalk-input::placeholder{color:var(--color-text-tertiary)}.letstalk-input:focus{border-color:#0a0a0a;box-shadow:0 1px 2px #00000008,inset 0 0 0 1px #0000001a}@keyframes chat-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes chat-modal-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-overlay{z-index:1010;background:#00000005;justify-content:center;align-items:center;padding:24px;animation:.2s both chat-overlay-in;display:flex;position:fixed;inset:0}.chat-modal{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:480px;max-height:560px;animation:.28s cubic-bezier(.34,1.56,.64,1) both chat-modal-in;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000038}.chat-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-header-title{font-family:var(--font-body), sans-serif;font-size:var(--fs-base);color:#0a0a0a;font-weight:600}.chat-close{cursor:pointer;color:#555;background:#f0f0f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.chat-close:hover{background:#e5e5e5}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.chat-bubble{font-family:var(--font-body), sans-serif;font-size:var(--fs-sm);word-break:break-word;border-radius:16px;max-width:85%;padding:10px 14px;line-height:1.55}.chat-bubble--bot{color:#0a0a0a;background:#f0f0f0;border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble--user{color:#fff;background:#0a0a0a;border-bottom-right-radius:4px;align-self:flex-end}.letstalk-typing{align-items:center;gap:4px;padding:10px 14px;display:flex}.letstalk-typing span{background:#999;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite letstalk-dot;display:block}.letstalk-typing span:nth-child(2){animation-delay:.2s}.letstalk-typing span:nth-child(3){animation-delay:.4s}@keyframes letstalk-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-form{border-top:1px solid #f0f0f0;flex-shrink:0;align-items:center;gap:8px;padding:14px 20px;display:flex}.chat-input{color:#0a0a0a;font-family:var(--font-body), sans-serif;font-size:var(--fs-sm);background:#f7f7f7;border:1px solid #e0e0e0;border-radius:999px;outline:none;flex:1;min-width:0;padding:9px 14px;transition:border-color .15s}.chat-input::placeholder{color:#aaa}.chat-input:focus{background:#fff;border-color:#0a0a0a}.chat-send{color:#fff;cursor:pointer;background:#0a0a0a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .15s;display:flex}.chat-send:disabled{opacity:.3;cursor:default}.bento-dock{flex-direction:column;grid-column:span 3;gap:16px;display:flex}.dock-cta{flex-direction:column;gap:4px;display:flex}.dock-shelf{flex-wrap:nowrap;align-items:center;gap:8px;margin-top:auto;display:flex}.dock-icon{background:var(--glass-bg-solid);width:44px;height:44px;color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 1px 4px #0000000f,inset 0 0 0 1px #fff9}.dock-icon:hover{transform:scale(1.1);box-shadow:0 4px 14px #0000001a,inset 0 0 0 1px #fff9}.dock-more{color:var(--color-text-tertiary)}.bento-mail{grid-column:span 2}.bento-socials{grid-column:span 4;position:relative;overflow:hidden}.socials-pattern{pointer-events:none;justify-content:flex-end;gap:32px;width:64%;display:flex;position:absolute;top:-14px;bottom:-14px;right:32px;overflow:hidden;-webkit-mask-image:radial-gradient(150% 145% at 100% 0,#000 45%,#0000 100%);mask-image:radial-gradient(150% 145% at 100% 0,#000 45%,#0000 100%)}.socials-col{flex:0 0 28px;overflow:hidden}.socials-track{will-change:transform;flex-direction:column;align-items:center;gap:32px;display:flex}@keyframes socialsDown{0%{transform:translateY(-50%)}to{transform:translateY(0)}}@keyframes socialsUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.socials-col--down .socials-track{animation:22s linear infinite socialsDown}.socials-col--up .socials-track{animation:22s linear infinite socialsUp}.socials-dot{flex-shrink:0;width:28px;height:28px;display:flex}.socials-dot svg{border-radius:var(--radius-sm);opacity:.1;width:28px;height:28px}@media (prefers-reduced-motion:reduce){.socials-track{animation:none}}.bento-top{display:none}.bento-icon{display:inline-flex}.bento-eyebrow{font-family:var(--font-body), sans-serif;font-size:var(--fs-eyebrow);font-weight:var(--fw-eyebrow);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.bento-body{flex-direction:column;gap:16px;display:flex}.bento-title{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-card);line-height:var(--lh-tight);color:var(--color-text-primary);margin-bottom:-4px}.bento-desc{font-family:var(--font-body), sans-serif;font-size:var(--fs-body-s);line-height:var(--lh-normal);color:var(--color-text-secondary)}.bento-cta{color:var(--color-text-tertiary);transition:transform var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);display:inline-flex;position:absolute;top:24px;right:24px}.bento-card:hover .bento-cta{color:var(--color-text-primary)}.bento-enlarge{z-index:2;color:var(--color-text-tertiary);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-smooth);will-change:opacity;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:22px;right:22px;transform:translateZ(0)}.bento-enlarge svg{display:block}.bento-card:hover .bento-enlarge,.bento-card:focus-within .bento-enlarge{opacity:1}.bento-work .bento-cta{display:none}.bento-static{cursor:default}.bento-static:hover{border-color:var(--glass-border);box-shadow:var(--shadow-card)}.bento-strakzat .bento-cta{border:1px solid var(--color-border);background:var(--glass-bg);width:30px;height:30px;color:var(--color-text-tertiary);border-radius:50%;justify-content:center;align-items:center;top:21px;right:18px}.bento-strakzat .bento-cta:hover{background:var(--color-text-primary);color:var(--color-bg)}[data-theme=dark] .bento-strakzat .bento-cta{background:var(--color-border);border-color:var(--color-border-mid)}.bento-about{cursor:default}.bento-about:hover{transform:none}.about-identity{display:flex}.about-identity-avatar{object-fit:cover;width:64px;height:64px;box-shadow:var(--shadow-image), inset 0 0 0 1px var(--color-border-subtle);border-radius:50%;flex-shrink:0}.bento-logo{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.bento-strakzat{overflow:visible}.bento-strakzat .bento-logo{object-fit:cover;width:64px;height:64px;box-shadow:var(--shadow-image), inset 0 0 0 1px #0000001f;border-radius:50%}.bento-mail-icon{color:inherit;display:inline-flex}.strakzat-stats{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 16px;display:flex}.strakzat-stat{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.strakzat-stat svg{flex-shrink:0}.btn{border:1px solid var(--glass-border);background:var(--glass-bg-solid);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);height:36px;color:var(--color-text-primary);font-family:var(--font-main);font-weight:var(--fw-button);font-size:var(--fs-small);cursor:pointer;box-shadow:var(--shadow-card);transition:box-shadow var(--dur-fast) var(--ease-smooth), border-color var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:0 16px;display:inline-flex;text-decoration:none!important}.btn svg{flex-shrink:0;display:block}.btn:hover{box-shadow:var(--shadow-elevated)}[data-theme=dark] .btn{background:var(--glass-bg-solid);border-color:var(--color-border)}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-color:#0000}.btn--primary:hover{box-shadow:var(--shadow-elevated);opacity:.9}[data-theme=dark] .btn--primary{background:var(--btn-primary-bg);border-color:#0000}.btn--foot{margin-top:auto}.btn--center{align-self:center;margin-top:14px}.btn--back{margin-bottom:20px}.about-chips{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.about-chip{font-family:var(--font-body), sans-serif;font-size:var(--fs-eyebrow);color:var(--color-text-secondary);border:1px solid var(--color-border);background:var(--color-bg);white-space:nowrap;border-radius:999px;padding:5px 11px}[data-theme=dark] .about-chip{background:var(--color-surface-subtle)}.about-availability{border:1px solid var(--color-border);white-space:nowrap;background:#fff;border-radius:99px;align-items:center;gap:6px;width:fit-content;padding:5px 12px 5px 8px;display:inline-flex}[data-theme=dark] .about-availability{background:var(--glass-bg-solid)}.about-availability-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 2px #f59e0b40}.about-availability-text{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-secondary);font-weight:500;line-height:1}.about-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.about-stat{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.about-stat svg{flex-shrink:0}.bento-services{justify-content:space-between}.stats-card-inner{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}@keyframes stats-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stats-card-eyebrow{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:0;font-weight:500}.stats-card-service{font-family:var(--font-main);font-size:var(--fs-card);font-weight:var(--fw-title);color:var(--color-text-primary);line-height:var(--lh-tight);text-align:center;margin:0;animation:.3s cubic-bezier(.34,1.56,.64,1) both stats-in}.stats-card-dots{flex-shrink:0;justify-content:center;align-items:center;gap:6px;display:flex}.stats-card-dot{background:var(--color-border);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:6px;height:6px;padding:0;transition:background .2s,transform .2s}.stats-card-dot.is-active{background:var(--color-text-primary);transform:scale(1.3)}.bento-work-row{align-items:center;gap:22px;display:flex}.bento-work-media{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-left-bg);width:340px;box-shadow:var(--shadow-image);flex-shrink:0;position:relative;overflow:hidden}.bento-work-media img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.bento-work-row .bento-body{flex:1;min-width:0}@media (max-width:640px){.bento-work-row{flex-direction:column;align-items:stretch}.bento-work-media{width:100%}}.bento-current{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:0;display:flex}.bento-current strong{font-weight:var(--fw-eyebrow);color:var(--color-text-primary)}.bento-photos{aspect-ratio:1;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;min-height:0;padding:0;position:relative;overflow:hidden}.photos-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-slow) var(--ease-smooth);position:absolute;inset:0}.photos-img.is-active{opacity:1}.nowplaying-spotify{z-index:2;border:1px solid var(--color-border);background:var(--glass-bg);width:30px;height:30px;color:var(--color-text-tertiary);transition:background var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:21px;right:18px}.nowplaying-spotify svg{width:16px;height:16px;display:block}[data-theme=dark] .nowplaying-spotify{background:var(--color-border);border-color:var(--color-border-mid)}.bento-connect{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg)}.bento-connect .bento-top,.bento-connect .bento-title,.bento-connect .bento-cta{color:var(--color-bg)}.bento-connect .bento-desc{color:var(--color-bg);opacity:.7}.bento-mail .bento-cta{width:34px;height:34px;transition:transform var(--dur-fast) var(--ease-smooth), background var(--dur-fast) var(--ease-smooth), color var(--dur-fast) var(--ease-smooth);background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;top:24px;right:24px}[data-theme=dark] .bento-mail .bento-cta{border-color:var(--color-border-mid);background:var(--color-border-subtle)}.bento-connect:hover{border-color:var(--color-text-primary);box-shadow:0 12px 28px -10px #00000073,0 0 0 1px #0000000f}.bento-connect:hover .bento-cta{color:var(--color-bg);background:#ffffff2e}[data-theme=dark] .bento-connect:hover .bento-cta{background:var(--color-surface-subtle)}[data-theme=dark] .bento-connect{background:var(--color-text-primary);border-color:var(--color-text-primary);box-shadow:var(--shadow-card)}@media (max-width:720px){.home-bento{grid-template-columns:minmax(0,1fr)}.home-bento>*{grid-column:auto}.bento-card{min-height:0}.bento-pair{grid-template-columns:1fr}.bento-pair .bento-photos{aspect-ratio:1;width:100%;height:auto}}.page-about{max-width:calc(var(--content-max) + 2 * var(--page-pad-x));padding:0 var(--page-pad-x) var(--page-pad-bottom);flex-direction:column;gap:20px;margin:0 auto;display:flex}.about-card{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-card);padding:var(--card-pad);overflow:hidden}.about-card .about-title{margin-top:0}.about-card .photo-slider{margin:24px calc(-1 * var(--card-pad))}.about-hobbies-card h3{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-card);color:var(--color-text-primary);margin:0 0 8px}.about-hobbies-card>p{font-family:var(--font-body), sans-serif;font-size:var(--fs-body-s);line-height:var(--lh-relaxed);color:var(--color-text-secondary);margin:0 0 22px}.hobbies-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.hobby-item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);align-items:flex-start;gap:16px;padding:20px 22px;display:flex}[data-theme=dark] .hobby-item{background:var(--color-surface-subtle);border-color:var(--color-border)}.hobby-emoji{flex-shrink:0;font-size:30px;line-height:1.2}.hobby-item h4{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-body);color:var(--color-text-primary);margin:0 0 4px}.hobby-item p{font-family:var(--font-body), sans-serif;font-size:var(--fs-body-s);line-height:var(--lh-normal);color:var(--color-text-secondary);margin:0}@media (max-width:560px){.hobbies-grid{grid-template-columns:1fr}}.about-faq-card{padding:var(--card-pad)}.about-faq-card .faq{margin-top:0}.about-faq-card .faq h3{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-card);color:var(--color-text-primary);margin:0}.page-cv{min-height:100vh;padding:0 var(--page-pad-x);flex-direction:column;display:flex}.exp-panel .right{max-width:none;padding-top:28px;padding-bottom:40px;padding-right:var(--card-pad);margin:0}.exp-panel .case-content,.exp-panel .section-label{margin-left:0;margin-right:0}.exp-panel .case-content{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:0}.exp-panel .case-content .case-image{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);width:100%;margin:0}.exp-panel{width:100%;max-width:var(--content-max);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);box-shadow:var(--shadow-card);flex-direction:column;margin:0 auto;display:flex}.page-cv .exp-panel{margin:0 auto var(--page-pad-bottom)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.cookie-consent{z-index:1000;width:320px;max-width:calc(100vw - 48px);padding:var(--card-pad);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(20px);flex-direction:column;gap:16px;display:flex;position:fixed;bottom:80px;left:auto;right:24px;transform:none}.cookie-consent__text{font-family:var(--font-body);font-size:var(--fs-small);line-height:var(--lh-normal);color:var(--color-text-secondary);margin:0}.cookie-consent__actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:640px){.cookie-consent{width:calc(100vw - 32px);bottom:88px;right:16px}}.page-error{min-height:60vh;padding:var(--card-pad);justify-content:center;align-items:center;display:flex}.error-inner{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:320px;display:flex}.error-code{font-family:var(--font-main);font-size:var(--fs-display);font-weight:var(--fw-button);color:var(--color-text-tertiary);line-height:1}.error-title{font-family:var(--font-main);font-size:var(--fs-h2);font-weight:var(--fw-button);color:var(--color-text-primary);line-height:var(--lh-tight)}.error-desc{font-family:var(--font-body);font-size:var(--fs-body-s);color:var(--color-text-secondary);line-height:var(--lh-normal);margin-bottom:8px}.gate{background:var(--color-left-bg);justify-content:center;align-items:center;min-height:100vh;padding:40px;display:flex}.gate-inner{flex-direction:column;gap:28px;width:100%;max-width:420px;display:flex}.gate-form{flex-direction:column;gap:12px;display:flex}.gate-input{width:100%;font-family:var(--font-body), sans-serif;font-size:var(--fs-body);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);transition:border-color var(--dur-normal) var(--ease-smooth);border-radius:12px;outline:none;padding:12px 16px}.gate-input:focus{border-color:var(--color-text-tertiary)}.gate-input::placeholder{color:var(--color-text-tertiary)}.gate-error{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-error)}.gate-btn{font-family:var(--font-body), sans-serif;font-size:var(--fs-body);font-weight:var(--fw-title);cursor:pointer;transition:opacity var(--dur-normal) var(--ease-smooth);border-radius:12px;justify-content:center;align-items:center;padding:12px 18px;text-decoration:none;display:inline-flex}.gate-btn:hover{opacity:.85}.gate-btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid var(--btn-primary-bg)}.gate-btn--ghost{background:var(--btn-ghost-bg);color:var(--btn-ghost-text);border:1px solid var(--btn-ghost-border)}.gate-old{width:100%}.coverflow{--cf-size:140px;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:100%;display:flex}.coverflow--compact{--cf-size:144px}.coverflow-stage{perspective:1400px;width:100%;height:240px;transform-style:preserve-3d;touch-action:pan-y;outline:none;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 44px calc(100% - 44px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 44px calc(100% - 44px),#0000 100%)}.coverflow--compact .coverflow-stage{perspective:800px;height:240px}.coverflow--compact .coverflow-item{top:36%}.coverflow-item{width:var(--cf-size);height:var(--cf-size);cursor:pointer;transform-style:preserve-3d;will-change:transform;background:0 0;border:none;margin:0;padding:0;transition:transform .56s cubic-bezier(.22,1,.32,1);position:absolute;top:45%;left:50%}.coverflow-cover{width:var(--cf-size);height:var(--cf-size);border-radius:var(--radius-sm);background:var(--color-text-primary);box-shadow:var(--shadow-card);display:block;overflow:hidden}.coverflow-item.is-active .coverflow-cover{box-shadow:var(--shadow-elevated)}.coverflow-cover img{object-fit:cover;width:100%;height:100%;display:block}.coverflow-fallback{text-align:center;width:100%;height:100%;font-family:var(--font-main);font-weight:var(--fw-eyebrow);font-size:var(--fs-body);line-height:var(--lh-snug);color:var(--color-bg);justify-content:center;align-items:center;padding:14px;display:flex}.coverflow--compact .coverflow-fallback{font-size:var(--fs-small);padding:8px}.coverflow--compact .coverflow-title{font-size:var(--fs-body-s);margin-top:6px}.coverflow-reflection{width:var(--cf-size);height:var(--cf-size);border-radius:var(--radius-sm);pointer-events:none;background-position:50%;background-size:cover;position:absolute;top:calc(100% + 2px);left:0;transform:scaleY(-1);-webkit-mask-image:linear-gradient(#0000 68%,#0000002e);mask-image:linear-gradient(#0000 68%,#0000002e)}.coverflow-footer{width:var(--cf-size);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.coverflow-meta{text-align:left;min-width:0}.coverflow-play{background:var(--glass-bg-solid);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);cursor:pointer;width:36px;height:36px;color:var(--color-text-primary);box-shadow:var(--shadow-card);transition:box-shadow var(--dur-fast) var(--ease-smooth);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.coverflow-play:hover{box-shadow:var(--shadow-elevated)}.coverflow-title{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-body-s);color:var(--color-text-primary);height:22px;line-height:22px;overflow:hidden}.coverflow-genre{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);height:18px;color:var(--color-text-tertiary);margin-top:2px;line-height:18px;overflow:hidden}@keyframes labelPulse{0%{opacity:.6;filter:blur(2px);transform:translateY(2px)}to{opacity:1;filter:blur();transform:none}}.coverflow-title,.coverflow-genre{animation:labelPulse var(--dur-normal) var(--ease-spring)}@media (prefers-reduced-motion:reduce){.coverflow-title,.coverflow-genre{animation:none}}@media (max-width:640px){.coverflow{--cf-size:160px}.coverflow-stage{height:300px}.coverflow--compact{--cf-size:116px}.coverflow--compact .coverflow-stage{height:200px}}.bento-playlists{padding:var(--card-pad);justify-content:center;align-items:stretch;overflow:hidden}.bento-playlists .bento-top{margin-bottom:4px;padding:0 8px}.playlists-header{flex-shrink:0;justify-content:flex-end;width:100%;display:flex}.logo-slider{border-top:1px solid var(--color-border);width:100%;margin-top:16px;padding:40px 0 8px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.logo-track{align-items:center;width:max-content;animation:26s linear infinite logoScroll;display:flex}.logo-name{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-card);color:var(--color-text-tertiary);opacity:.65;white-space:nowrap;text-transform:lowercase;margin-right:72px}@keyframes logoScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.bento-articles{padding:var(--card-pad);flex-direction:column;gap:0;display:flex}.bento-stats{flex-direction:column;justify-content:center;display:flex}.stats-grid{grid-template-columns:1fr 1fr;gap:28px 16px;display:grid}.stat-item{flex-direction:column;gap:3px;display:flex}.stat-value{font-family:var(--font-main);font-size:var(--fs-h2);font-weight:var(--fw-title);color:var(--color-text-primary);line-height:var(--lh-tight)}.stat-label{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary)}.articles-head{justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.articles-eyebrow{font-family:var(--font-body), sans-serif;font-size:var(--fs-eyebrow);font-weight:var(--fw-eyebrow);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em}.articles-list{flex-direction:column;display:flex}.articles-row{color:inherit;align-items:center;gap:16px;margin:0 -10px;padding:12px 10px;display:flex;position:relative;text-decoration:none!important}.articles-row>*{z-index:1;position:relative}.articles-row:after{content:"";z-index:0;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transition:opacity var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-smooth);pointer-events:none;border-radius:14px;position:absolute;inset:2px;transform:scale(.98)}.articles-row:hover:after{opacity:1;transform:scale(1)}.articles-row-title{font-family:var(--font-main);font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--color-text-primary);flex:1}.articles-row-meta{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary);white-space:nowrap}.articles-row-arrow{color:var(--color-text-tertiary);flex-shrink:0}.articles-view-more{justify-content:center;align-self:stretch;margin-top:4px}.bento-sun{aspect-ratio:1;color:#fff;cursor:default;background:linear-gradient(160deg,#1c4a8a 0%,#3574cc 55%,#5090d8 100%);border-color:#ffffff26;grid-column:span 2;gap:8px;overflow:hidden}.bento-sun:hover{box-shadow:var(--shadow-elevated);border-color:#ffffff38}.sun-location{color:#fff}.sun-label{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);font-weight:var(--fw-eyebrow);color:#ffffffa6;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;display:inline-flex}.sun-current-time{font-family:var(--font-body), sans-serif;color:#fff;letter-spacing:-.02em;margin-bottom:2px;font-size:2rem;font-weight:600;line-height:1}.sun-next-event{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:#fff9;align-items:center;gap:5px;display:inline-flex}.sun-arc-wrap{width:calc(100% + 2 * var(--card-pad));margin-left:calc(-1 * var(--card-pad));margin-bottom:calc(-1 * var(--card-pad));flex:1;min-height:80px;position:relative}.sun-arc-svg{width:100%;height:100%;display:block}.sun-dot{pointer-events:none;background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ffffff40,0 0 20px #ffffff8c}.sun-sub{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:#ffffffbf;font-weight:600}.sun-horizon-labels{bottom:var(--card-pad);left:var(--card-pad);right:var(--card-pad);pointer-events:none;justify-content:space-between;display:flex;position:absolute}.sun-horizon-label{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:#ffffff8c;align-items:center;gap:5px;display:inline-flex}.page-blog{min-height:100vh;padding:0 var(--page-pad-x) var(--page-pad-bottom)}.blog-inner{max-width:var(--content-max);margin:0 auto}.blog-panel{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-card);padding:var(--card-pad);overflow:hidden}.blog-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.blog-item{border-bottom:1px solid var(--color-border);transition:opacity var(--dur-fast) var(--ease-smooth);padding:22px 0;display:block;text-decoration:none!important}.blog-list li:first-child .blog-item{padding-top:0}.blog-list li:last-child .blog-item{border-bottom:none;padding-bottom:0}.blog-item:hover .blog-item-title{color:var(--color-text-tertiary)}.blog-item .blog-item-title{transition:color var(--dur-fast) var(--ease-smooth)}.blog-item-meta{font-family:var(--font-body), sans-serif;font-size:var(--fs-small);color:var(--color-text-tertiary);margin-bottom:8px}.blog-item-title{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-card);line-height:var(--lh-tight);color:var(--color-text-primary);margin-bottom:16px}.blog-item-excerpt{font-family:var(--font-body), sans-serif;font-size:var(--fs-body-s);line-height:var(--lh-normal);color:var(--color-text-secondary);margin-bottom:14px}.blog-article{max-width:var(--content-max)}.blog-article-title{font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-card);line-height:var(--lh-tight);color:var(--color-text-primary);margin:8px 0 16px}.blog-article-body{flex-direction:column;gap:20px;display:flex}.blog-article-body p{font-family:var(--font-body), sans-serif;font-size:var(--fs-body);line-height:var(--lh-relaxed);color:var(--color-text-secondary)}.faq{margin-top:56px}.faq-list{border-top:1px solid var(--color-border);margin:20px 0 0;padding:0;list-style:none}.faq-item{border-bottom:1px solid var(--color-border)}.faq-q{cursor:pointer;text-align:left;width:100%;font-family:var(--font-main);font-weight:var(--fw-title);font-size:var(--fs-body);color:var(--color-text-primary);transition:opacity var(--dur-fast) var(--ease-smooth);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.faq-q:hover{opacity:.75}.faq-q:active{opacity:.5}.faq-chevron{color:var(--color-text-tertiary);transition:transform var(--dur-normal) var(--ease-out);flex-shrink:0}.faq-item.is-open .faq-chevron{transform:rotate(180deg)}.faq-a{transition:grid-template-rows var(--dur-normal) var(--ease-out);grid-template-rows:0fr;display:grid}.faq-item.is-open .faq-a{grid-template-rows:1fr}.faq-a>p{font-family:var(--font-body), sans-serif;font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--color-text-secondary);margin:0;overflow:hidden}.faq-item.is-open .faq-a>p{padding-bottom:18px}
