:root{--ink:#10131a;--muted:#68758a;--line:#e2e4e7;--soft:#f1f2f3;--accent:#e45d46;--background:#fbfbf9}::selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}*{box-sizing:border-box}html,body,body *{-webkit-user-select:text;user-select:text}button,[role=button],input[type=checkbox],button *,[role=button] *{-webkit-user-select:none;user-select:none}html{scroll-behavior:smooth}body{background:var(--background);color:var(--ink);font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif;font-optical-sizing:auto;font-variation-settings:"slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 100;font-size:15px;line-height:1.55;font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif;font-optical-sizing:auto;font-variation-settings:"slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 100;margin:0}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}svg{vertical-align:middle;width:16px;height:16px}.site-header{border-bottom:1px solid color-mix(in srgb, var(--line) 45%, transparent);background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;align-items:center;gap:28px;max-width:700px;height:48px;margin:0 auto;padding:0;display:flex;position:sticky;top:0}.logo{letter-spacing:-.04em;font-size:16px;font-weight:700}.logo span,.site-footer .footer-brand b span{color:var(--accent)}nav{color:#657086;gap:18px;font-size:13px;display:flex}nav a:hover,.section-heading a:hover,.resume-link a:hover{color:var(--accent)}nav a{position:relative}nav a:after{content:"";background:var(--accent);transform-origin:50%;height:1px;transition:transform .18s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}nav a:hover:after{transform:scaleX(1)}.site-header nav a:hover{color:#e45d46!important}.site-header nav a:hover:after{opacity:1!important;background:#e45d46!important;transform:scaleX(1)!important}.header-actions button,.show-more,.view-toggle,.search-input button{background:0 0!important}button{transition:color .18s,opacity .18s;color:#747b87!important;background:0 0!important;border:0!important}button:hover{color:#e45d46!important;background:0 0!important;border:0!important}.hero-actions a{transition:color .18s;color:#747b87!important;background:0 0!important;border:0!important}.hero-actions a:hover{color:#e45d46!important;background:0 0!important;border:0!important}.header-actions{color:#747b87;align-items:center;gap:10px;margin-left:auto;display:flex}.header-actions svg{width:17px}.language{font-size:12px}main,footer{max-width:700px;margin:auto}.hero-top,.section-heading{justify-content:space-between;align-items:center;display:flex}.hero h1,h2{letter-spacing:-.02em;margin:0;font-size:17px}.availability{color:#536072;background:#f7f8f8;border:1px solid #dfe2e5;border-radius:20px;padding:4px 9px;font-size:12px}.availability i{aspect-ratio:1;background:#16b787;border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 3px #d8f4eb}.role{color:#657086;margin:12px 0 14px}.role span{color:#4d5562;margin-left:7px}.intro{color:#18202d;max-width:625px;margin:0}.hero-actions{gap:10px;margin-top:21px;display:flex}.hero-actions a{background:var(--soft);border-radius:6px;align-items:center;gap:8px;padding:7px 12px;font-weight:600;display:flex}.hero-actions a:hover{background:#e6e8ea}.showcase{padding:25px 0 0}.section-heading h2{align-items:center;gap:7px;display:flex}.section-heading h2 svg{color:#8b919a;width:14px}.section-heading a,.show-more{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.section-heading a svg{width:14px}.card-grid{grid-template-columns:repeat(3,1fr);gap:13px;margin-top:18px;display:grid}.work-card{border:1px solid var(--line);border-radius:14px;min-height:155px;padding:22px 20px 18px}.work-card h3{margin:0;font-size:15px;font-weight:600;line-height:1.35}.work-card p{color:var(--muted);margin:0;line-height:1.4}.show-more{margin-top:15px}.show-more svg{width:13px}.about{padding:42px 2px 0}.about p{color:#1a2738;margin:17px 0}.resume-link{color:var(--muted)!important;margin-top:22px!important}.resume-link a{color:var(--accent);margin-left:8px}.stack-title{margin-top:47px}.stack{margin-top:18px}.stack div{border-top:1px solid var(--line);grid-template-columns:125px 1fr;padding:12px 0;display:grid}.stack b{font-weight:500}.stack span{color:var(--muted)}.contact{padding:47px 2px 72px}.contact p{color:var(--muted);margin:21px 0}.socials{color:#747b87;align-items:center;gap:38px;display:flex}footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:22px;padding:22px 0 20px;font-size:13px;display:flex}footer b{color:var(--ink)}footer a{margin-left:auto}footer a:hover{color:var(--accent)}@media (max-width:760px){.site-header{gap:24px;padding:0 20px}nav{gap:12px;font-size:13px}.site-header nav:not(.site-nav-icons) a:nth-child(5),.site-header nav:not(.site-nav-icons) a:nth-child(6){display:none}main,footer{margin:0 20px}.card-grid{grid-template-columns:1fr}.work-card{min-height:150px;padding:25px 20px}.desktop{display:none}footer{flex-wrap:wrap;gap:12px}footer a{width:100%;margin-left:0}}.work-card:hover{background:color-mix(in srgb, var(--background) 88%, var(--soft));border-color:#b9bdc4}.work-card>div{justify-content:space-between;gap:10px;display:flex}.card-arrow{color:var(--muted);opacity:0}.work-card:hover .card-arrow{opacity:1}.work-card small{color:var(--muted);margin-top:14px;font-size:11px;display:none}.show-more{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.search-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5;background:#10131a66;justify-content:center;padding-top:15px;display:flex;position:fixed;inset:0}.search-dialog{background:var(--background);border:1px solid var(--line);border-radius:10px;width:min(520px,100% - 24px);height:max-content;overflow:hidden;box-shadow:0 18px 50px #0002}.search-input{border-bottom:1px solid var(--line);height:56px;color:var(--muted);align-items:center;gap:10px;padding:0 16px;display:flex}.search-input input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1}.search-results{padding:7px}.search-results a{border-radius:6px;align-items:center;gap:12px;padding:9px 12px;display:flex}.search-results small{color:var(--muted);margin-left:auto}.dark{--ink:#f4f4f1;--muted:#aeb5c0;--line:#30343a;--soft:#24282d;--background:#111315;--accent:#ff846b}.dark .site-header{background:color-mix(in srgb, var(--background) 92%, transparent)}.dark .availability{background:#1d2825;border-color:#31453f}.dark .intro,.dark .about p{color:#e5e6e3}.dark .hero-actions a:hover,.dark .work-card:hover{background:#252a30}.dark{background:var(--background);min-height:100vh;color:var(--ink)}.featured{transform-origin:100% 0;background:var(--background);transform:rotate(-4deg)}.featured p{transform:rotate(0)}@media (max-width:760px){.featured{margin:4px 4px 8px;transform:rotate(-2deg)}}.work-card,.featured{transform-origin:50%;background:0 0;transform:none}.featured h3{color:var(--ink)}.featured .card-arrow{border:1px solid var(--line);width:27px;height:27px;color:var(--muted);opacity:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.work-card:hover{background:var(--background);z-index:1;transform:translateY(-2px)}.work-card:hover .card-arrow,.featured:hover .card-arrow{opacity:1;border-color:var(--accent);color:var(--accent)}@media (max-width:760px){.work-card:hover,.featured:hover{transform:translateY(-2px)}.featured{margin:0}}.work-card{transform-origin:50%;position:relative}.work-card>div{display:block}.work-card .card-arrow,.featured .card-arrow{width:27px;height:27px;position:absolute;top:18px;left:auto;right:18px}.work-card h3{transition:color .2s}.work-card:hover h3{color:var(--accent)}.card-arrow i{font-size:14px;font-style:normal;line-height:1;display:block}.card-arrow i:before{font-weight:400;content:"â†—"!important;font-family:Arial,sans-serif!important}.work-card{transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s}.work-card .card-arrow{border:1px solid var(--line);opacity:0;border-radius:999px;justify-content:center;align-items:center;transition:opacity .22s,transform .32s cubic-bezier(.22,1,.36,1),border-color .22s,color .22s;display:flex;transform:scale(.72)translateY(4px)}.work-card .card-arrow svg{width:14px;height:14px;display:block}.work-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000000d}.work-card:hover .card-arrow{opacity:1;border-color:var(--accent);color:var(--accent);transform:scale(1)translateY(0)}@media (max-width:760px){.work-card:hover{transform:translateY(-2px)}}body{font-size:14px}h1,h2,h3,.work-card h3{font-size:14.5px}.work-card small{font-size:13.5px}.language-switcher{border:1px solid var(--line);background:var(--soft);border-radius:999px;align-items:center;gap:2px;padding:2px;display:flex}.language-switcher button{color:var(--muted);border-radius:999px;padding:2px 6px;font-size:12px;line-height:1.2}.language-switcher button.active{background:var(--background);color:var(--ink);box-shadow:0 1px 3px #0002}.visitor-time,.weather{cursor:default;border-bottom:0;align-items:center;display:inline-flex;position:relative}.weather{border-bottom:0;margin-left:7px}.visitor-time:hover:after,.weather:hover:after{content:none!important;display:none!important}.weather-tooltip{z-index:20;border:1px solid var(--line);background:var(--surface);width:max-content;min-width:185px;color:var(--ink);white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:9px;gap:8px;padding:11px 13px;font-size:11px;line-height:1.35;transition:opacity .15s,transform .15s,visibility .15s;display:grid;position:absolute;top:calc(100% + 9px);left:0;transform:translateY(-3px);box-shadow:0 10px 28px #00000024}.weather-tooltip>span{color:var(--muted);justify-content:space-between;gap:16px;display:flex}.weather-tooltip b{color:var(--ink);text-align:right;font-weight:550}.weather-tooltip small{color:var(--muted);font-size:inherit}.weather-tooltip>.weather-tooltip-aqi{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.weather-tooltip>.weather-tooltip-aqi b{min-width:0;max-width:none}.weather-tooltip>.weather-tooltip-aqi small{overflow-wrap:anywhere;display:inline}.weather:hover .weather-tooltip,.weather:focus-visible .weather-tooltip,.visitor-time:hover .time-tooltip,.visitor-time:focus-visible .time-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.weather:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.visitor-time,.weather{border-radius:5px;padding:3px 5px;transition:background .18s,color .18s;border-bottom:0!important}.visitor-time{appearance:none;color:inherit;font:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;margin-left:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.weather{gap:4px;margin-left:3px!important}.visitor-time:hover,.weather:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.weather:hover{background:0 0!important}.dark .visitor-time:hover{color:var(--accent)}.visitor-meta{white-space:nowrap;vertical-align:middle!important;align-items:center!important;gap:3px!important;line-height:1.45!important;display:inline-flex!important}.visitor-meta .visitor-time,.visitor-meta .weather{vertical-align:middle!important;align-items:center!important;height:22px!important;line-height:1!important;display:inline-flex!important}.visitor-meta .weather svg{flex:none!important;display:block!important}.visitor-meta .visitor-local{border-left:1px solid var(--line);color:var(--muted);margin-left:2px!important;padding-left:8px!important;text-decoration:none!important}.visitor-time:hover:after{content:none!important}.analog-tooltip{border:1px solid var(--line);background:var(--background);opacity:0;visibility:hidden;pointer-events:none;border-radius:50%;width:34px;height:34px;transition:opacity .18s,transform .18s,visibility .18s;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px)scale(.92);box-shadow:0 10px 22px #0002;display:flex!important;position:absolute!important}.digital-tooltip{table-layout:fixed;box-sizing:border-box;opacity:0;visibility:hidden;pointer-events:none;z-index:5;background:#fff;border:1px solid #e5e5e0;border-radius:9px;transition:opacity .18s,transform .18s,visibility .18s;display:table;position:absolute;top:calc(100% + 9px);left:50%;overflow:hidden;transform:translate(-50%,-4px)scale(.96);box-shadow:0 8px 24px #00000014}.dark .digital-tooltip,.dark .visitor-time .digital-tooltip{background:#1b1e23;border-color:#30343a;box-shadow:0 12px 28px #0008}.digital-clock-card{box-sizing:border-box;text-align:center;vertical-align:middle;width:65px;padding:7px 4px;display:table-cell}.digital-clock-card+.digital-clock-card{border-left:1px solid #e5e5e0}.dark .digital-clock-card+.digital-clock-card{border-left-color:#30343a}.digital-clock-card strong{font-family:var(--font-site-code,"Google Sans Code"), monospace;color:#151820;font-variant-numeric:tabular-nums;letter-spacing:0;font-size:14px;font-weight:400;line-height:1;display:block}.dark .digital-clock-card strong{color:#f4f4f1}.digital-clock-card small{color:#68758a;text-align:center;letter-spacing:0;width:100%;margin-top:3px;font-size:9px;font-weight:400;line-height:1;display:block}.dark .digital-clock-card small{color:#aeb5c0}.analog-tooltip:before,.analog-tooltip:after{content:"";border:1px solid color-mix(in srgb, var(--muted) 35%, transparent);border-radius:50%;position:absolute;inset:5px}.analog-tooltip:after{background:repeating-conic-gradient(from 0deg, var(--muted) 0deg 2deg, transparent 2deg 30deg);border:0;inset:10px;-webkit-mask:radial-gradient(circle,#0000 0 72%,#000 74%);mask:radial-gradient(circle,#0000 0 72%,#000 74%)}.clock-hand{background:var(--ink);transform-origin:bottom;z-index:2;border-radius:2px;width:1px;height:9px;position:absolute;bottom:50%;left:50%}.clock-hand.hour{height:7px;transform:translate(-50%)rotate(35deg)}.clock-hand.minute{height:10px;transform:translate(-50%)rotate(125deg)}.analog-tooltip b{background:var(--accent);z-index:3;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.analog-tooltip{background:#fff;border:1px solid #d9d9d4;border-radius:16px;width:58px;height:58px;box-shadow:0 12px 26px #0002}.analog-tooltip:before{border-color:#d7d7d2;inset:4px}.analog-tooltip:after{inset:7px}.clock-number{z-index:2;color:#151515!important;background:0 0!important;width:auto!important;height:auto!important;font:700 11px/1 Arial,sans-serif!important;position:absolute!important;top:auto!important;left:auto!important;transform:none!important}.clock-number.n12{top:8px!important;left:50%!important;transform:translate(-50%)!important}.clock-number.n3{top:50%!important;right:9px!important;transform:translateY(-50%)!important}.clock-number.n6{bottom:8px!important;left:50%!important;transform:translate(-50%)!important}.clock-number.n9{top:50%!important;left:9px!important;transform:translateY(-50%)!important}.clock-hand{background:#151515!important;width:2px!important}.clock-hand.hour{transform:translate(-50%)rotate(35deg);height:15px!important}.clock-hand.minute{transform:translate(-50%)rotate(125deg);height:22px!important}.clock-hand.second{transform:translate(-50%)rotate(52deg);background:#e8a329!important;width:1px!important;height:24px!important}.clock-center{border:1px solid #151515;background:#e8a329!important;border-radius:50%!important;width:6px!important;height:6px!important}.hero-actions>a[href=\#contact]{isolation:isolate;position:relative;overflow:hidden}.hero-actions>a[href=\#contact]:before{content:"";z-index:0;opacity:0;background-color:#0000;background-image:radial-gradient(circle at 12% 35%,#ffffffb8 0 1px,#0000 1.5px),radial-gradient(circle at 28% 70%,#ffffff80 0 1px,#0000 1.5px),radial-gradient(circle at 44% 24%,#ffffffa6 0 1px,#0000 1.5px),radial-gradient(circle at 61% 64%,#ffffff80 0 1px,#0000 1.5px),radial-gradient(circle at 78% 30%,#ffffffb8 0 1px,#0000 1.5px),linear-gradient(105deg,#e45d46 0%,#b98bdd 48%,#7d9cf2 100%);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto,auto,220% 100%;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box;transition:opacity .2s;animation:5s ease-in-out infinite alternate paused thoughtful-sparkle;position:absolute;inset:0;transform:translate(-12%)}.hero-actions>a[href=\#contact]>*{z-index:1;position:relative}.hero-actions>a[href=\#contact]:hover:before{opacity:.7;animation-play-state:running}@keyframes thoughtful-sparkle{0%{background-position:0 0,0 0,0 0,0 0,0 0,0%;transform:translate(-12%)}to{background-position:5px -2px,-4px 3px,6px 1px,-5px -2px,4px 2px,100%;transform:translate(12%)}}.dark .hero-actions>a[href=\#contact]:before{opacity:0}.dark .hero-actions>a[href=\#contact]:hover:before{opacity:.7}.hero-actions>a[href=\#contact]:before{opacity:0!important;background-color:#0000!important;background-image:radial-gradient(circle at 12% 35%,#e45d46 0 1px,#0000 1.5px),radial-gradient(circle at 28% 70%,#e45d46 0 1px,#0000 1.5px),radial-gradient(circle at 44% 24%,#e45d46 0 1px,#0000 1.5px),radial-gradient(circle at 61% 64%,#e45d46 0 1px,#0000 1.5px),radial-gradient(circle at 78% 30%,#e45d46 0 1px,#0000 1.5px)!important;background-position:0 0,0 0,0 0,0 0,0 0!important;background-repeat:repeat,repeat,repeat,repeat,repeat!important;background-size:auto!important;background-attachment:scroll,scroll,scroll,scroll,scroll!important;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box!important;background-clip:border-box,border-box,border-box,border-box,border-box!important}.hero-actions>a[href=\#contact]:hover:before{animation-play-state:running;opacity:.45!important}.hero-actions>a[href=\#contact]:hover{color:#e45d46!important;background:#fff0ec!important}.dark .hero-actions>a[href=\#contact]:hover{color:#ff846b!important;background:#2a1c19!important}.hero-actions>a[href=\#contact]:before{display:none!important}.cta-sprinkles{pointer-events:none;opacity:0;inset:0;overflow:hidden;z-index:2!important;display:block!important;position:absolute!important}.cta-sprinkles svg{opacity:0;animation:3.8s linear infinite paused sprinkle-drift;transform:translate(130px)rotate(0);color:#e45d46!important;stroke:#e45d46!important;position:absolute!important}.cta-sprinkles svg:first-child{animation-delay:-.4s;top:20%}.cta-sprinkles svg:nth-child(2){animation-delay:-1.7s;top:57%}.cta-sprinkles svg:nth-child(3){animation-delay:-2.5s;top:34%}.cta-sprinkles svg:nth-child(4){animation-delay:-3.1s;top:72%}.cta-sprinkles svg:nth-child(5){animation-delay:-1.1s;top:10%}.cta-sprinkles svg:nth-child(6){animation-delay:-.9s;top:44%}.cta-sprinkles svg:nth-child(7){animation-delay:-2.2s;top:82%}.cta-sprinkles svg:nth-child(8){animation-delay:-3.5s;top:27%}.cta-sprinkles svg:nth-child(9){animation-delay:-1.4s;top:66%}.cta-sprinkles svg:nth-child(10){animation-delay:-2.8s;top:8%}.cta-sprinkles svg:nth-child(11){animation-delay:-.2s;top:52%}.cta-sprinkles svg:nth-child(12){animation-delay:-3.7s;top:38%}.cta-sprinkles svg:nth-child(13){animation-delay:-1.9s;top:75%}.cta-sprinkles svg:nth-child(14){animation-delay:-2.6s;top:16%}.cta-sprinkles svg:nth-child(15){animation-delay:-.7s;top:60%}.cta-sprinkles svg:nth-child(2n){animation-duration:3.1s}.cta-sprinkles svg:nth-child(3n){animation-duration:4.7s}.cta-sprinkles svg:nth-child(5n){animation-duration:2.6s}.cta-sprinkles svg:nth-child(4n){transform:translate(130px)rotate(55deg)}.cta-sprinkles svg:nth-child(3n){filter:blur(.45px);opacity:.26!important}.cta-sprinkles svg:nth-child(7n){opacity:.55!important}.hero-actions>a[href=\#contact]:hover .cta-sprinkles{opacity:1}.hero-actions>a[href=\#contact]:hover .cta-sprinkles svg{animation-play-state:running}@keyframes sprinkle-drift{0%{opacity:0;left:105%;transform:translate(20px)rotate(0)}12%{opacity:.8}88%{opacity:.8}to{opacity:0;left:-12%;transform:translate(0)rotate(180deg)}}.dark .cta-sprinkles svg{color:#ff846b!important;stroke:#ff846b!important}.cta-sprinkles svg{filter:blur(.25px);opacity:.38!important;width:8px!important;height:8px!important}.icon-button{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button svg{width:18px;height:18px;display:block}.icon-button:hover{color:var(--accent)}.site-header{border-bottom:1px solid #e2e4e7}.work-card{border:1px solid #e2e4e7}.stack div{border-top:1px solid #e2e4e7}.stack div:last-child,.hero{border-bottom:1px solid #e2e4e7}.icon-button{background:#fdfdfc;border:1px solid #e2e4e7;border-radius:999px}.icon-button:hover{border-color:var(--accent);background:#fff4f1}.dark .site-header,.dark .hero,.dark .work-card,.dark .stack div{border-color:var(--line)}.dark .icon-button{border-color:var(--line);background:var(--soft)}.hero{border-bottom:1px solid var(--line);padding:0 0 35px}.hero .role .visitor-meta{white-space:nowrap;vertical-align:baseline!important;margin:0!important;display:inline!important}.hero .role .visitor-meta span{margin-left:0!important}.hero .role .visitor-meta .weather-tooltip{opacity:0;visibility:hidden;pointer-events:none;z-index:10000!important;white-space:normal!important;box-sizing:border-box!important;background:var(--background)!important;isolation:isolate!important;border:0!important;row-gap:9px!important;width:210px!important;min-width:210px!important;height:auto!important;margin:0!important;padding:14px 15px!important;line-height:1.5!important;display:block!important;position:absolute!important;top:calc(100% + 9px)!important;left:0!important;overflow:hidden!important}.hero .role .visitor-meta .weather,.hero .role .visitor-meta .visitor-time{z-index:1!important;position:relative!important}.hero .role .visitor-meta .weather:hover,.hero .role .visitor-meta .weather:focus-visible,.hero .role .visitor-meta .visitor-time:hover,.hero .role .visitor-meta .visitor-time:focus-visible{z-index:100!important}.hero .role .visitor-meta .time-tooltip{width:min(220px,100vw - 32px)!important;min-width:min(220px,100vw - 32px)!important;max-width:min(220px,100vw - 32px)!important}.hero .role .visitor-meta .weather:hover .weather-tooltip,.hero .role .visitor-meta .weather:focus-visible .weather-tooltip,.hero .role .visitor-meta .visitor-time:hover .time-tooltip,.hero .role .visitor-meta .visitor-time:focus-visible .time-tooltip{opacity:1!important;visibility:visible!important}.hero .role .visitor-meta .weather-tooltip>span{white-space:normal!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;width:100%!important;height:auto!important;min-height:20px!important;margin:0!important;padding:0!important;line-height:1.5!important;display:flex!important}.hero .role .visitor-meta .weather-tooltip>.weather-tooltip-aqi{grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:8px!important;display:grid!important}.hero .role .visitor-meta .weather-tooltip>.weather-tooltip-source{justify-content:flex-start!important;align-items:baseline!important;gap:4px!important;margin-top:7px!important;display:flex!important}.hero .role .visitor-meta .weather-tooltip>.weather-tooltip-source>*{flex:none!important;width:auto!important;min-width:0!important}.hero .role .visitor-meta .weather-tooltip>.weather-tooltip-aqi b{overflow-wrap:anywhere!important;width:100%!important;min-width:0!important;max-width:none!important}.hero .role .visitor-meta .weather-tooltip>.weather-tooltip-aqi small{overflow-wrap:anywhere!important;margin:0!important;display:inline!important}.hero .role .visitor-meta .time-tooltip>span:not(.weather-tooltip-location){justify-content:space-between!important;align-items:flex-start!important;gap:14px!important;display:flex!important}.hero .role .visitor-meta .time-tooltip .weather-tooltip-location{text-align:left!important;width:100%!important}.hero .role .visitor-meta .time-tooltip>span>span{text-align:left!important;white-space:nowrap!important;flex:none!important;justify-self:start!important}.hero .role .visitor-meta .time-tooltip b{text-align:right!important;white-space:normal!important;flex:0 auto!important;min-width:0!important;max-width:100%!important}.hero .role .visitor-meta .time-tooltip>span:first-of-type b{white-space:nowrap!important}.hero .role .visitor-meta .weather-tooltip-location{color:var(--ink)!important;margin:0 0 2px!important;font-size:11px!important;font-weight:600!important;line-height:1.45!important;display:block!important}.hero .role .visitor-meta .weather-tooltip-source{text-align:left!important;width:100%!important;color:color-mix(in srgb, var(--muted) 68%, var(--background))!important;justify-content:flex-start!important;margin-top:7px!important;font-size:9px!important;line-height:1.4!important;text-decoration:none!important;display:block!important}.hero .role .visitor-meta .weather-tooltip-source a{pointer-events:auto;color:inherit!important;text-decoration:none!important}.hero .role .visitor-meta .weather-tooltip b{min-width:max-content!important;max-width:58%!important;color:var(--ink)!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important;flex:0 auto!important;margin:0!important;display:block!important}.hero .role .visitor-meta .weather-tooltip>span>span{min-width:0!important;color:var(--muted)!important;font-size:inherit!important;flex:auto!important;margin:0!important;line-height:1.5!important;display:block!important}.hero .role .visitor-meta .weather-tooltip small{height:auto!important;line-height:inherit!important;white-space:normal!important;margin:0!important;display:inline!important}.hero .role .visitor-time,.hero .role .weather{height:auto!important;min-height:0!important;color:inherit!important;vertical-align:baseline!important;line-height:inherit!important;background:0 0!important;padding:0!important;display:inline-flex!important}.hero .role .weather{align-items:baseline!important}.hero .role .weather svg{width:15px;height:15px;vertical-align:-2px!important;flex:0 0 15px!important;display:inline-block!important}.hero .role .visitor-meta .weather{margin-left:12px!important;display:inline!important}.hero .role .visitor-meta .weather svg{margin-right:3px}.hero .role .visitor-time{text-decoration:none!important}.hero .role .visitor-time,.hero .role .visitor-meta .weather{cursor:pointer!important;background-image:radial-gradient(circle,currentColor 1px,#0000 1.25px)!important;background-position:0 100%!important;background-repeat:repeat-x!important;background-size:4px 4px!important;padding-bottom:5px!important}.hero .role .visitor-time:hover,.hero .role .weather:hover{color:var(--accent)!important}.hero-top h1{font-size:17px;font-weight:600}.role{margin:13px 0 14px;line-height:1.45}.intro{line-height:1.55}.hero-actions{margin-top:21px}.hero-actions a{min-height:33px;color:var(--ink);background:#f1f2f3;border:1px solid #e2e4e7;border-radius:6px;padding:6px 12px}.hero-actions a:hover{background:#e7e9eb;border-color:#d5d8dc}.hero+.showcase{border-top:1px solid var(--line);margin-top:34px;padding-top:25px;box-shadow:inset 0 1px #f4f5f6;border-top:1px solid #d7dbe0!important}.dark .hero+.showcase{box-shadow:none;border-top-color:#30343a!important}main>.hero{border-bottom:0}main>section:nth-of-type(2){box-shadow:none;margin-top:35px;padding-top:35px}.dark main>section:nth-of-type(2){border-top-color:#30343a!important}main>.hero{padding-bottom:10px}main>section:nth-of-type(2){margin-top:25px;padding-top:25px}.dark .hero-actions a{background:var(--soft);border-color:var(--line)}.dark .hero-actions a:hover{background:#2d3339}.site-header{gap:32px}.site-header nav{flex:1;justify-content:center;gap:18px;min-width:0}.header-actions{flex-shrink:0}@media (max-width:760px){.site-header{gap:16px}.site-header nav{gap:10px}}.view-toggle{color:var(--muted);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.view-toggle:hover{color:var(--accent)}.list-view .card-grid{flex-direction:column;gap:0;margin-top:18px;display:flex}.list-view .work-card{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;min-height:0;padding:15px 0 14px;box-shadow:none!important;transform:none!important}.list-view .work-card>div{justify-content:space-between;align-items:center;display:flex}.list-view .work-card h3{color:var(--ink);margin:0}.list-view .work-card p{max-width:calc(100% - 40px);margin-top:5px}.list-view .work-card small{color:var(--muted);display:block;position:absolute;top:15px;right:0}.list-view .work-card .card-arrow{opacity:1;color:var(--muted);border:0;top:47px;left:auto;right:0;transform:none}.list-view .work-card{border-top:1px solid #dfe3e7!important}.list-view .work-card:last-child{border-bottom:1px solid #dfe3e7!important}.dark .list-view .work-card{border-color:#30343a!important}.list-view .work-card{padding:18px 0 19px!important}.list-view .work-card p{margin:7px 0 0}.list-view .work-card small{top:18px}.showcase+.showcase{margin-top:44px}.showcase+.about{margin-top:50px}.about+.contact{margin-top:36px}main>.hero{margin-top:48px;padding-bottom:20px}@media (max-width:760px){main>.hero{margin-top:28px}}main>section:nth-of-type(2){margin-top:24px;padding-top:80px}.hero+.showcase{padding-top:50px!important}.work-card:hover{background:#fff!important;border:1px solid #c9d0d8!important;border-radius:14px!important}.work-card:hover .card-arrow{border:1px solid var(--accent)!important;color:var(--accent)!important;opacity:1!important;border-radius:999px!important}.dark .work-card:hover{background:var(--background)!important;border-color:#4b535d!important}@media (hover:hover){.work-card:hover{background:#fff!important;border:1px solid #e45d46!important;border-radius:14px!important;box-shadow:0 10px 24px #e45d4626!important}.work-card:hover .card-arrow{opacity:1!important;visibility:visible!important;color:#e45d46!important;border:1px solid #e45d46!important;border-radius:50%!important;display:flex!important}}.work-card:hover{background:var(--background)!important;border:1px solid #cfd4da!important;border-radius:14px!important;box-shadow:0 8px 20px #0000000d!important}.work-card:hover .card-arrow{border-color:var(--accent)!important;color:var(--accent)!important}.list-view .work-card:hover{box-shadow:none!important;background:0 0!important;border-top:1px solid #dfe3e7!important;border-bottom:0!important;border-radius:0!important;transform:none!important}.dark .list-view .work-card:hover{border-top-color:#30343a!important}.list-view .work-card>div{display:block;position:relative}.list-view .work-card small{top:15px;right:24px}.list-view .work-card .card-arrow{top:15px;left:auto;right:0;border:0!important}.list-view .work-card:hover{box-shadow:none!important;box-shadow:none!important;background:#f4f4f2!important;border:0!important;border-radius:0!important}.list-view .work-card:hover h3{color:var(--accent)!important}.list-view .work-card:hover .card-arrow{color:var(--accent)!important;border:0!important}.list-view .work-card:hover{box-shadow:none!important;background:#f4f4f2!important;border:0!important;border-radius:0!important;transform:none!important}.list-view .work-card:hover h3{font-size:inherit;font-weight:inherit;line-height:inherit;color:var(--accent)!important}.list-view .work-card:hover .card-arrow{justify-content:center;align-items:center;width:27px;height:27px;top:15px;right:0;border:1px solid var(--accent)!important;color:var(--accent)!important;border-radius:50%!important;display:flex!important;transform:none!important}.dark .list-view .work-card:hover{background:#202326!important}.list-view .work-card:hover .card-arrow{visibility:visible!important;opacity:1!important;border:1px solid var(--accent)!important;width:27px!important;min-width:27px!important;height:27px!important;color:var(--accent)!important;z-index:2!important;background:0 0!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;padding:0!important;display:flex!important;position:absolute!important;top:13px!important;left:auto!important;right:0!important;transform:none!important}.list-view .work-card:hover .card-arrow svg{width:14px!important;height:14px!important;display:block!important}.list-view .work-card .card-arrow{opacity:1!important;width:27px!important;height:27px!important;color:var(--muted)!important;border:1px solid #0000!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;padding:0!important;display:flex!important;position:absolute!important;top:13px!important;left:auto!important;right:0!important;transform:none!important}.list-view .work-card:hover .card-arrow{border-color:var(--accent)!important;color:var(--accent)!important}.list-view .work-card .card-arrow svg{width:14px!important;height:14px!important;display:block!important}.showcase:not(.list-view) .work-card{box-shadow:none;border:1px solid #dfe3e7!important;outline:0!important}.showcase:not(.list-view) .work-card:focus,.showcase:not(.list-view) .work-card:focus-visible{box-shadow:none!important;outline:0!important}.showcase:not(.list-view) .work-card:hover{border:1px solid #cfd4da!important;box-shadow:0 8px 20px #0000000d!important}.showcase:not(.list-view) .work-card{box-shadow:none!important;border:1px solid #e5e7eb!important}.showcase:not(.list-view) .work-card .card-arrow{overflow:hidden;opacity:0!important;border:0!important;width:0!important;min-width:0!important;height:0!important;padding:0!important}.showcase:not(.list-view) .work-card:hover .card-arrow{overflow:visible;opacity:1!important;border:1px solid var(--accent)!important;width:27px!important;min-width:27px!important;height:27px!important;color:var(--accent)!important;border-radius:50%!important}.dark .showcase:not(.list-view) .work-card{border-color:#30343a!important}.work-card:focus,.work-card:focus-visible{outline:none!important}.showcase:not(.list-view) .work-card{border-color:#e5e7eb!important}article.work-card span.card-arrow-visible{opacity:1!important;border:1px solid var(--accent)!important;width:27px!important;min-width:27px!important;height:27px!important;color:var(--accent)!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;overflow:visible!important}.showcase:not(.list-view) article.work-card span.card-arrow-visible{visibility:visible!important;opacity:1!important;border:1px solid var(--accent)!important;width:27px!important;min-width:27px!important;height:27px!important;color:var(--accent)!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important;overflow:visible!important}.hover-arrow{border:1px solid var(--accent)!important;width:27px!important;min-width:27px!important;height:27px!important;color:var(--accent)!important;z-index:3!important;background:0 0!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:absolute!important;top:18px!important;left:18px!important}.hover-arrow svg{width:14px!important;height:14px!important;display:block!important}.list-view .hover-arrow{border:1px solid var(--accent)!important;border-radius:50%!important;top:13px!important;left:auto!important;right:0!important}.showcase:not(.list-view) .work-card{position:relative}article.work-card span.arrow-ring{box-sizing:border-box!important;border:1px solid var(--accent)!important;background:color-mix(in srgb, var(--accent) 8%, transparent)!important;width:27px!important;min-width:27px!important;height:27px!important;color:var(--accent)!important;z-index:5!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;display:flex!important;position:absolute!important;top:18px!important;left:auto!important;right:18px!important}article.work-card span.arrow-ring svg{width:14px!important;height:14px!important;color:inherit!important;display:block!important}.list-view article.work-card span.arrow-ring{top:13px!important;left:auto!important;right:0!important}.socials a{color:#747b87;transition:color .18s,background-color .18s,border-color .18s}.socials a:hover{color:var(--accent)}.socials>a.email-social{color:#747b87!important;box-sizing:border-box!important;background:0 0!important;border:1px solid #e2e4e7!important;border-radius:999px!important;align-items:center!important;gap:8px!important;height:32px!important;padding:0 10px!important;text-decoration:none!important;display:inline-flex!important}.socials a.email-social span{font-size:13.5px}.socials a.email-social i{border:1px solid var(--accent);width:25px;height:25px;color:var(--accent);opacity:0;visibility:hidden;pointer-events:none;border-radius:50%;flex:0 0 25px;justify-content:center;align-items:center;font-style:normal;transition:opacity .18s,visibility .18s;display:inline-flex}.socials a.email-social:hover{border-color:var(--accent)!important;color:var(--accent)!important}.socials a.email-social:hover i{opacity:1;visibility:visible}.socials a.email-social i svg{color:inherit;display:block}.socials>a:not(.email-social):hover,.socials>a:not(.email-social):hover svg,.socials>a.email-social:hover,.socials>a.email-social:hover svg{color:#e45d46!important;stroke:#e45d46!important}.socials>a.email-social>i{box-sizing:border-box!important;border:1px solid #e45d46!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:25px!important;min-width:25px!important;height:25px!important}.socials>a.email-social:hover>i{opacity:1!important;visibility:visible!important;color:#e45d46!important;border:1px solid #e45d46!important;border-radius:50%!important;display:inline-flex!important}.hero-actions a,.header-actions button,.show-more,.view-toggle,.search-input button{color:#747b87!important;background:0 0!important;border:0!important}.hero-actions a:hover,.header-actions button:hover,.show-more:hover,.view-toggle:hover,.search-input button:hover{color:#e45d46!important;background:0 0!important;border:0!important}html,body{background:#fbfbf9!important}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;transition:border-color .2s;background:0 0!important;border-bottom:1px solid #0000!important;max-width:700px!important;margin:0 auto!important;padding-left:0!important;padding-right:0!important}.site-header.is-scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0!important;border-bottom-color:#0000!important}.site-header.is-scrolled:before{content:"";z-index:0;-webkit-backdrop-filter:blur(10px);pointer-events:none;background:#fbfbf9eb;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.site-header>*{z-index:1;position:relative}.dark .site-header.is-scrolled:before{background:#111315eb}.site-header.is-scrolled:after{content:"";pointer-events:none;background:#e5e5e0;width:100vw;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.header-actions{gap:8px}.header-actions .icon-button,.language-switcher{color:var(--muted);opacity:.78;background:0 0!important;border-color:#0000!important;padding:4px!important}.header-actions .icon-button:hover,.language-switcher:hover{color:var(--accent);opacity:1;background:0 0!important;border-color:#0000!important}.language-switcher{text-align:center!important;flex:0 0 30px!important;justify-content:center!important;align-items:center!important;width:30px!important;min-width:30px!important;height:24px!important;padding:0!important;font-size:12px!important;display:inline-flex!important}.hero-actions a{background:color-mix(in srgb, var(--ink) 6%, transparent)!important;color:#747b87!important;border:0!important}.hero-actions a:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)!important;color:#e45d46!important;border:0!important}.hero-actions>a{background-color:color-mix(in srgb, var(--ink) 6%, transparent)!important;color:#747b87!important;background:#f1f2f0!important;border:0!important}.hero-actions>a:hover{background-color:color-mix(in srgb, var(--ink) 6%, transparent)!important;color:#e45d46!important;background:#f1f2f0!important;border:0!important}:not(.dark) .hero-actions>a{color:#747b87!important;background-color:#f1f2f0!important;background-image:none!important;border:0!important}:not(.dark) .hero-actions>a:hover{color:#e45d46!important;background-color:#f1f2f0!important;background-image:none!important;border:0!important}.hero-actions>a{color:var(--ink)!important;background:#f1f2f3!important;border:0!important}.hero-actions>a:hover{color:#e45d46!important;background:#fff0ec!important;border:0!important}.dark .hero-actions>a{color:#f4f4f1!important;background:#1c1f23!important;border:0!important}.dark .hero-actions>a:hover{color:#ff846b!important;background:#2b1c19!important;border:0!important}.hero-actions{gap:10px!important}.hero-actions>a{color:#10131a!important;background:#eee!important;border-radius:6px!important;gap:8px!important;height:33px!important;min-height:33px!important;padding:0 12px!important;font-size:14px!important;font-weight:600!important;line-height:1!important}.hero-actions>a:hover{color:#e45d46!important;background:#fff0ec!important}.dark .hero-actions>a{color:#f4f4f1!important;background:#1b1e23!important}.dark .hero-actions>a:hover{color:#ff846b!important;background:#2a1c19!important}:not(.dark) .hero-actions>a:hover{color:#e45d46!important;box-shadow:none!important;background:#fff0ec!important}.hero-actions>a:first-child{text-decoration:none;color:#747b87!important;background:#eee!important;border-radius:6px!important;padding-left:12px!important;padding-right:12px!important}.hero-actions>a:first-child:hover{color:#e45d46!important;background:#fff0ec!important}.hero-actions>a:nth-child(2){text-decoration:none;color:#10131a!important;background:#eee!important;border-radius:6px!important;padding-left:12px!important;padding-right:12px!important}.hero-actions>a:nth-child(2):hover{color:#e45d46!important;background:#fff0ec!important}.dark .hero-actions>a:nth-child(2){color:#f4f4f1!important;background:#1b1e23!important}.dark .hero-actions>a:nth-child(2):hover{color:#ff846b!important;background:#2a1c19!important}.page-frame.resume-frame{width:min(1100px,100% - 16px)!important;max-width:1100px!important}.resume-frame .resume-page{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);border-radius:3px;width:min(794px,100%);max-width:794px;min-height:900px;margin:0 auto 64px;padding:48px 48px 64px;box-shadow:0 18px 55px #141b261a}@media (max-width:760px){.page-frame.resume-frame{width:calc(100% - 16px)!important}.resume-frame .resume-page{min-height:0;padding:30px 22px 40px}}.resume-history-tree:not(.resume-education) .resume-duration{gap:0!important;line-height:1.2!important}.resume-history-tree:not(.resume-education) .resume-duration time{font-size:12px!important;line-height:1.2!important}.resume-history-tree:not(.resume-education) .resume-duration span{font-size:11px!important;line-height:1.2!important}.resume-history-tree .tree-group{margin-top:0}.resume-tree-parent{flex-wrap:wrap;align-items:baseline;gap:2px 12px;display:flex}.resume-tree-parent h3{font:inherit;flex:100%;margin:0;font-size:14px;font-weight:600;line-height:1.4}.resume-tree-parent time{color:var(--muted);font-size:12px;font-weight:400}.resume-tree-children{margin:10px 0 0 11px;padding:0;display:grid;position:relative}.resume-tree-child{color:var(--muted);padding:7px 0 7px 27px;font-size:13px;line-height:1.35;display:block;position:relative}.resume-tree-child:after{content:"";border-top:1px solid var(--line);width:17px;position:absolute;top:calc(7px + .675em);left:0}.resume-tree-point{color:var(--muted)}.resume-history-tree>.tree-group:first-child:before{top:33px}.resume-history-tree>.tree-group:after{width:22px!important}.resume-history-tree>.tree-group:last-child:before{height:33px!important;bottom:auto!important}.resume-history-tree .resume-tree-children:before{height:15px!important;top:0!important;bottom:auto!important}.resume-history-tree .resume-tree-child:before{content:"";border-left:1px solid var(--line);position:absolute;top:15px;bottom:-15px;left:0}.resume-history-tree .resume-tree-child:last-child:before{bottom:calc(100% - 15px)}.resume-history-tree .resume-tree-child:after{top:15px!important}.resume-history-tree .resume-tree-child:last-child:before{height:0;top:15px;bottom:auto}.resume-tree-parent .resume-company{color:var(--muted);flex:100%;font-size:13px;line-height:1.35}.resume-tree-parent time{order:3}.resume-tree-children{margin-top:10px}.resume-history-tree:not(.resume-education) .resume-tree-parent{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 16px;display:grid}.resume-history-tree:not(.resume-education) .resume-tree-parent h3{grid-area:1/1;margin:0}.resume-history-tree:not(.resume-education) .resume-tree-parent .resume-company{grid-area:2/1}.resume-history-tree:not(.resume-education) .resume-duration{grid-area:1/2/3;justify-items:end;gap:3px;display:grid}.resume-history-tree:not(.resume-education) .resume-duration time{color:var(--muted);white-space:nowrap;font-size:12px}.resume-history-tree:not(.resume-education) .resume-duration span{color:var(--muted);white-space:nowrap;font-size:11px}.resume-history-tree.resume-education .resume-tree-parent{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 16px;display:grid}.resume-history-tree.resume-education .resume-tree-parent h3{grid-area:1/1;margin:0}.resume-history-tree.resume-education .resume-company{grid-area:2/1}.resume-history-tree.resume-education .resume-campus{width:fit-content;color:var(--muted);grid-area:3/1;align-items:center;gap:5px;font-size:12px;line-height:1.4;display:inline-flex}.resume-history-tree.resume-education .resume-duration{grid-area:1/2/4;justify-items:end;display:grid}.resume-history-tree.resume-education .resume-duration time{color:var(--muted);white-space:nowrap;font-size:12px}.resume-page .resume-timeline{gap:0!important;margin-left:8px!important;padding:0 0 0 34px!important;display:grid!important;position:relative!important}.resume-page .resume-timeline:before{content:""!important;border-left:1px solid var(--line)!important;position:absolute!important;top:0!important;bottom:0!important;left:0!important}.resume-page .resume-timeline article,.resume-page .resume-timeline:not(.resume-education) article{background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:23px 0 0!important;position:relative!important}.resume-page .resume-timeline article:last-child{padding-bottom:0!important}.resume-page .resume-timeline article:before{content:""!important;border-top:1px solid var(--line)!important;width:22px!important;display:block!important;position:absolute!important;top:33px!important;left:0!important}.resume-page .resume-timeline article:after{content:none!important;display:none!important}.resume-page .resume-timeline .resume-timeline-marker{display:none!important}.resume-page .resume-timeline article>div,.resume-page .resume-timeline article>ul{margin:0 0 0 22px!important;padding:0!important}.resume-page .resume-timeline article>ul{margin-top:14px!important;padding-left:18px!important}.resume-page .resume-timeline .resume-experience-head{grid-template-columns:1fr auto!important;gap:1px 10px!important;display:grid!important}.resume-page .resume-timeline .resume-experience-head h3{grid-column:1/-1!important;margin:0!important;font-size:15px!important;line-height:1.3!important}.resume-page .resume-timeline .resume-experience-head span{grid-column:1!important;margin:0!important;font-size:13px!important}.resume-page .resume-timeline .resume-experience-head time{grid-area:2/2!important;font-size:12px!important}.resume-page .resume-education article{padding-top:23px!important}.resume-page .resume-education article:before{top:33px!important}.resume-page .resume-timeline:not(.resume-education){padding:0!important;position:relative!important}.resume-page .resume-timeline:not(.resume-education):before{content:""!important;border-left:1px solid var(--line)!important;position:absolute!important;top:0!important;bottom:0!important;left:0!important}.resume-page .resume-timeline:not(.resume-education) article:before{content:""!important;border-top:1px solid var(--line)!important;background:0 0!important;width:34px!important;height:0!important;display:block!important;position:absolute!important;top:31px!important;left:-35px!important}.article-outline{left:37px!important;right:auto!important}.article-outline-wrap:after{content:"";width:24px;height:100%;position:absolute;top:0;left:20px}.article-outline a,.article-outline a:hover,.article-outline a:focus{max-width:100%;border:0!important;width:fit-content!important;text-decoration:none!important;display:inline-block!important;position:relative!important;transform:none!important}.article-outline a:after{content:none!important;display:none!important}.article-outline a.active:after{content:none!important;display:none!important}.article-outline a.active{text-underline-offset:4px;text-decoration-skip-ink:auto;text-decoration-thickness:1px;text-decoration-line:underline!important;-webkit-text-decoration-color:var(--accent)!important;text-decoration-color:var(--accent)!important}.article-body section,.detail-copy h2{scroll-margin-top:84px}.codepen-embed{border:1px solid var(--line);background:var(--background);isolation:isolate;border-radius:8px;height:560px;margin:14px 0 0;overflow:hidden}.codepen-embed iframe{border:0;border-radius:7px;width:100%;height:100%;display:block;overflow:hidden}.detail-preview{margin-top:32px;scroll-margin-top:84px}.detail-preview h2{letter-spacing:-.015em;margin:0 0 12px;font-size:16px}.detail-preview-intro{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.detail-preview-label{margin:24px 0 0;font-size:13px;font-weight:500}.ip-preview{border:1px solid var(--line);background:var(--soft);font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif;border-radius:10px;margin-top:14px;padding:18px}.ip-language{color:var(--muted);justify-content:flex-end;align-items:center;gap:7px;margin-bottom:12px;font-size:10px;font-weight:700;display:flex}.ip-language span.active{color:var(--ink)}.ip-language button{background:var(--line);border-radius:20px;width:34px;height:19px;padding:0;position:relative}.ip-language button i{background:var(--background);border-radius:50%;width:15px;height:15px;transition:transform .2s;position:absolute;top:2px;left:2px}.ip-language span:last-child.active~button i{transform:translate(15px)}.ip-card{border:1px solid var(--line);background:var(--background);box-shadow:0 4px 20px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:10px;padding:22px}.ip-top b,.ip-grid b{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.ip-top strong{color:var(--ink);letter-spacing:-.04em;font-size:27px;line-height:1.2;display:block}.ip-card hr{border:0;border-top:1px solid var(--line);margin:18px 0}.ip-grid{gap:16px;display:grid}.ip-grid span{color:var(--ink);font-size:14px;font-weight:500;display:block}.ip-grid b{margin-bottom:4px}.ip-tabs{border-bottom:1px solid var(--line);background:var(--background);align-items:stretch;gap:1px;margin:-18px -18px 18px;padding:7px;display:flex}.ip-tabs button{height:34px;color:var(--muted);font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif;border:1px solid #0000;border-bottom:0;border-radius:3px 3px 0 0;padding:0 13px;font-size:12px;line-height:34px}.ip-tabs button:last-child{margin-left:auto}.ip-tabs button.active{border-color:var(--line);border-top:3px solid var(--ink);background:var(--background);color:var(--ink);padding-top:0;line-height:31px}.ip-code{min-height:220px;color:var(--ink);font-family:var(--font-site-code,"Google Sans Code"), monospace;font-optical-sizing:auto;font-variation-settings:"MONO" 1;white-space:pre-wrap;background:0 0;border:0;margin:0;padding:8px 0;font-size:12px;line-height:1.6;overflow:auto}.page-frame{width:min(700px,100% - 40px);margin:0 auto;display:block}.page-frame>.breadcrumb{margin-top:48px}.collection-showcase.hide-meta small{display:none!important}@media (max-width:760px){.page-frame{width:calc(100% - 40px)}.page-frame>.breadcrumb{margin-top:28px}.page-frame>.static-page{padding-top:24px}}.breadcrumb{height:16px;min-height:16px;color:var(--muted);align-items:center;gap:7px;margin-bottom:24px;font-size:12px;display:flex}.breadcrumb span{align-items:center;gap:7px;display:inline-flex}.breadcrumb i{color:var(--line);font-style:normal}.breadcrumb b{color:var(--ink);font-weight:500}.breadcrumb a:hover{color:var(--accent)}.page-frame{display:contents}.article-page{position:relative}.article-page:before{display:none}@media (max-width:760px){.article-page:before{display:none}}.article-outline-wrap{z-index:20;width:23px;height:42px;position:fixed;top:50%;right:max(20px,50vw - 408px);transform:translateY(-50%)}.article-outline-trigger{background:0 0;border:0;align-content:center;gap:6px;width:23px;height:42px;padding:0;display:grid}.article-outline-trigger i{background:var(--line);width:13px;height:2px;margin-left:5px;transition:background .18s,width .18s;display:block}.article-outline-trigger i.active{background:var(--ink);width:23px;margin-left:0}.article-outline{border:1px solid var(--line);background:var(--background);border-radius:8px;gap:12px;width:260px;padding:14px;display:grid;position:absolute;top:50%;right:37px;transform:translateY(-50%);box-shadow:0 14px 35px #0002}.article-outline b{color:var(--muted);letter-spacing:.08em;font-size:10px}.article-outline a{color:var(--muted);font-size:12px;line-height:1.25}.article-outline a.active{color:var(--ink)}.article-outline a:hover{color:var(--accent)}@media (max-width:760px){.article-outline-wrap{display:none}}.article-page{width:min(680px,100% - 40px);max-width:680px;margin:0 auto;padding:58px 0 76px}.article-title{align-items:center;gap:12px;display:flex}.article-title h1{letter-spacing:-.02em;margin:0;font-size:18px}.article-meta{color:var(--muted);font-family:var(--font-site-code,"Google Sans Code"), monospace;margin:14px 0 27px;font-size:11px}.article-meta span{color:var(--line);margin:0 8px}.article-lead{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.article-tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.article-tags span{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--muted);border-radius:4px;padding:4px 7px;font-size:10px}.article-summary{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, transparent);border-radius:7px;margin-top:30px;padding:16px}.article-summary b{font-size:13px}.article-summary p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.6}.article-body{padding-top:12px}.article-body h2{margin:30px 0 10px;font-size:15px}.article-body p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.article-actions{border-top:1px solid var(--line);gap:9px;margin-top:38px;padding-top:18px;display:flex}.article-actions button{border:1px solid var(--line);color:var(--muted);border-radius:6px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;display:inline-flex}.article-actions button:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.article-actions .copy-link-button{transition:color .2s,border-color .2s,background .2s}.article-actions .copy-link-button.is-copied{color:#27834c;border-color:color-mix(in srgb, #27834c 45%, var(--line));background:#27834c14}.article-actions .copy-link-button.is-copied svg{color:#27834c}.article-actions .article-clap-button{transition:color .18s,border-color .18s,background .18s,opacity .18s}.article-clap-icon{place-items:center;width:18px;height:18px;display:inline-grid;position:relative}.article-actions .article-clap-button svg{color:var(--muted);transition:color .18s,transform .18s}.article-actions .article-clap-button:hover svg,.article-actions .article-clap-button:focus-visible svg,.article-actions .article-clap-button.is-clapped svg{color:var(--accent)}.article-actions .article-clap-button.is-clapped svg{transform:scale(1.08)}.article-clap-icon:before,.article-clap-icon:after{content:"";pointer-events:none;opacity:0;position:absolute}.article-clap-icon:before{border:1px solid color-mix(in srgb, var(--accent) 58%, transparent);border-radius:50%;inset:-5px;transform:scale(.55)}.article-clap-icon:after{background:radial-gradient(circle at 50% 0,#f4b942 0 1.5px,#0000 2px),radial-gradient(circle at 100% 35%,#f18b72 0 1.5px,#0000 2px),radial-gradient(circle at 80% 100%,#8ebd9a 0 1.5px,#0000 2px),radial-gradient(circle at 10% 85%,#b49ae5 0 1.5px,#0000 2px),radial-gradient(circle at 0 28%,#f4b942 0 1.5px,#0000 2px);inset:-7px;transform:scale(.35)rotate(-18deg)}.article-clap-button.is-celebrating .article-clap-icon svg{animation:.68s cubic-bezier(.2,.85,.3,1.25) clap-celebrate}.article-clap-button.is-celebrating .article-clap-icon:before{animation:.68s ease-out clap-ring}.article-clap-button.is-celebrating .article-clap-icon:after{animation:.68s ease-out clap-confetti}@keyframes clap-celebrate{0%{transform:scale(1)rotate(0)}32%{transform:scale(1.5)rotate(-16deg)}58%{transform:scale(.92)rotate(9deg)}78%{transform:scale(1.18)rotate(-5deg)}to{transform:scale(1.08)rotate(0)}}@keyframes clap-ring{0%{opacity:0;transform:scale(.55)}28%{opacity:.85}to{opacity:0;transform:scale(1.6)}}@keyframes clap-confetti{0%{opacity:0;transform:scale(.35)rotate(-18deg)}24%{opacity:1}to{opacity:0;transform:scale(1.35)rotate(22deg)}}@media (prefers-reduced-motion:reduce){.article-clap-button.is-celebrating .article-clap-icon svg,.article-clap-button.is-celebrating .article-clap-icon:before,.article-clap-button.is-celebrating .article-clap-icon:after{animation-duration:1ms}}.article-actions .article-clap-button:disabled{cursor:default;opacity:1}.article-actions .article-clap-button:disabled:not(.is-clapped) svg{color:var(--muted)}.article-actions .article-clap-button.is-clapped{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));color:var(--accent)}.article-clap-count{min-width:1ch;color:var(--ink);font-variant-numeric:tabular-nums}.article-clap-error{color:var(--muted);align-self:center;font-size:12px}@media (max-width:760px){.article-page{padding:36px 0 58px}.article-lead{font-size:13.5px}}section.showcase.list-view article.work-card p{grid-column:1/-1!important;width:100%!important;max-width:none!important;display:-webkit-box!important}section.showcase.list-view:not(.writing-list) article.work-card p{width:calc(100% - 36px)!important;max-width:calc(100% - 36px)!important}section.showcase.list-view article.work-card p{-webkit-line-clamp:1!important;line-clamp:1!important}.showcase:not(.list-view) .work-card:hover{border-color:var(--accent)!important;transform:translateY(-2px)!important}.showcase.list-view article.work-card p{width:100%!important;max-width:none!important}.socials>a.email-social{border-color:var(--line)!important;background:0 0!important;gap:9px!important;height:34px!important;padding:0 7px 0 11px!important;transition:color .18s,border-color .18s,background .18s!important}.socials>a.email-social:hover{color:var(--accent)!important;background:#fff0ec!important;border-color:#ee9d8e!important}.socials>a.email-social>i{border-color:var(--accent)!important;opacity:0!important;visibility:hidden!important;flex-basis:0!important;width:24px!important;min-width:0!important;max-width:0!important;height:24px!important;margin-left:-9px!important;transition:max-width .24s cubic-bezier(.22,1,.36,1),flex-basis .24s cubic-bezier(.22,1,.36,1),margin-left .24s cubic-bezier(.22,1,.36,1),opacity .16s,visibility .16s!important;overflow:hidden!important}.socials>a.email-social:hover>i{opacity:1!important;visibility:visible!important;flex-basis:24px!important;min-width:24px!important;max-width:24px!important;margin-left:0!important}body>.app-root,body>.app-root>div:not(.custom-context-menu){flex-direction:column;min-height:100vh;display:flex}body>.app-root>div:not(.custom-context-menu)>footer.site-footer{margin:auto auto 0}body>div>footer.site-footer{margin-top:auto}.app-root>div:not(.custom-context-menu)>.site-header,.app-root>div:not(.custom-context-menu)>main,.app-root>div:not(.custom-context-menu)>footer.site-footer{width:min(700px,100% - 40px);max-width:none;margin-left:auto;margin-right:auto}.custom-context-menu{z-index:1000;border:1px solid var(--line);background:var(--background);border-radius:8px;gap:2px;width:240px;padding:7px;font-size:13px;position:fixed;box-shadow:0 12px 35px #0002;flex-direction:initial!important;height:auto!important;min-height:0!important;display:grid!important}.context-menu-heading{color:var(--muted);font-family:var(--font-site-code,"Google Sans Code"), monospace;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px 6px;font-size:10px}.custom-context-menu button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:9px;padding:8px 9px;display:flex}.custom-context-menu button span{flex:1}.custom-context-menu button:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.custom-context-menu button:disabled{opacity:.4;cursor:default}.custom-context-menu button:disabled:hover{color:var(--ink);background:0 0}.custom-context-menu kbd{color:var(--muted);font-family:inherit;font-size:11px}.context-divider{background:var(--line);height:1px;margin:4px 3px}.not-found-page{flex-direction:column;justify-content:center;align-items:flex-start;max-width:700px;min-height:55vh;margin:0 auto;padding:80px 0;display:flex}.not-found-code{color:var(--accent);font-family:var(--font-site-code,"Google Sans Code"), monospace;letter-spacing:.08em;font-size:12px}.not-found-page h1{letter-spacing:-.03em;margin:13px 0 10px;font-size:18px}.not-found-page p{max-width:430px;color:var(--muted);margin:0 0 24px;font-size:14px;line-height:1.6}.not-found-home{border:1px solid var(--line);border-radius:6px;align-items:center;gap:7px;padding:8px 11px;font-size:13px;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.not-found-home:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}@media (max-width:760px){.not-found-page{min-height:58vh;margin:0 20px;padding:50px 0}.not-found-page h1{font-size:18px}}.showcase.writing-list article.work-card p{width:100%!important;max-width:100%!important}.showcase.writing-list article.work-card small{font-size:8px!important;line-height:1.3!important}.showcase.list-view.writing-list article.work-card p{grid-column:1/-1!important;width:100%!important;max-width:none!important}.showcase.list-view.writing-list article.work-card small{grid-column:1/-1!important;width:100%!important;max-width:none!important;font-size:8px!important}.showcase.writing-list article.work-card p{-webkit-line-clamp:1!important;line-clamp:1!important}.static-page{max-width:700px;margin:0 auto;padding:54px 0 86px}.static-intro{border-bottom:1px solid var(--line);padding-bottom:27px}.static-intro h1{letter-spacing:-.025em;margin:0 0 13px;font-size:18px;line-height:1.25}.static-intro p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.policy-index{display:grid}.policy-index a{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:20px 0;transition:color .18s,background .18s;display:flex}.policy-index a:hover{color:var(--accent);background:color-mix(in srgb, var(--ink) 2.5%, transparent)}.policy-index b{font-size:14px;font-weight:600}.policy-index span{color:var(--muted);font-size:13px;line-height:1.5}.policy-content{padding-top:38px;scroll-margin-top:82px}.policy-content+.policy-content{border-top:1px solid var(--line);margin-top:38px}.policy-content h2{letter-spacing:-.015em;margin:0 0 14px;font-size:16px}.policy-content h3{margin:25px 0 8px;font-size:13.5px}.policy-content p{color:var(--muted);margin:0 0 13px;font-size:13.5px;line-height:1.72}.policy-content a{color:var(--accent)}.policy-updated{color:var(--muted);border-top:0;margin:12px 0 0;padding-top:0;font-size:11.5px}.sitemap-tree{padding-top:28px}.tree-root,.tree-parent{font-size:14px;font-weight:600;transition:color .18s}.tree-group{margin-left:8px;padding:23px 0 0 34px;position:relative}.tree-group:before{content:"";border-left:1px solid var(--line);position:absolute;top:0;bottom:-23px;left:0}.tree-group:after{content:"";border-top:1px solid var(--line);width:22px;position:absolute;top:33px;left:0}.tree-group:last-child:before{height:33px;bottom:auto}.tree-children{margin:10px 0 0 11px;display:grid}.tree-children a{color:var(--muted);padding:7px 0 7px 27px;font-size:13px;line-height:1.35;transition:color .18s;position:relative}.tree-children a:before{content:"";border-left:1px solid var(--line);position:absolute;top:0;bottom:0;left:0}.tree-children a:last-child:before{bottom:50%}.tree-root:hover,.tree-parent:hover,.tree-children a:hover{color:var(--accent)}.favorite-star{color:currentColor;vertical-align:middle;margin-left:7px;transition:color .18s;display:inline-block}.work-card:hover .favorite-star,.tree-children a:hover .favorite-star{color:var(--accent)}.tree-children a{justify-content:space-between;align-items:center;gap:10px;display:flex}.work-card h3 .favorite-star{float:none;margin-left:7px}.detail-title h1 .favorite-star{margin-left:10px}.tree-children{margin:10px 0 0 11px;padding:0;display:grid;position:relative}.tree-children:before{content:"";border-left:1px solid var(--line);position:absolute;top:0;bottom:15px;left:0}.tree-child>.tree-children{margin:0 0 0 27px}.tree-children a{padding:7px 0 7px 27px;display:block;position:relative}.tree-children a:before{display:none}.tree-children a:after{content:"";border-top:1px solid var(--line);width:17px;position:absolute;top:50%;left:0}.tree-child>.tree-children a{padding-left:20px}.tree-child>.tree-children a:after{width:12px}@media (max-width:760px){.static-page{padding:34px 20px 64px}.tree-group{padding-left:28px}.tree-children{margin-left:8px}}footer.site-footer{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid}.site-footer .footer-brand{align-items:center;gap:14px;min-width:0;display:flex}.site-footer .footer-brand b{color:var(--ink)}.site-footer .footer-brand b span{color:var(--accent)}.site-footer .footer-brand>span{color:var(--muted)}.site-footer .footer-links{white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.site-footer .footer-icon{display:none}.site-footer .footer-text{color:inherit;display:inline}.site-footer .footer-bullet{color:color-mix(in srgb, var(--muted) 55%, transparent);display:inline}.site-footer .footer-links a,.site-footer .footer-top{width:auto;color:var(--muted);margin:0}.site-footer .footer-links i{color:color-mix(in srgb, var(--muted) 55%, transparent);font-style:normal}.site-footer .footer-links a:hover,.site-footer .footer-top:hover{color:var(--accent)}.site-footer .footer-top{white-space:nowrap;justify-self:end;align-items:center;gap:6px;display:inline-flex}.site-footer button.footer-top{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.site-footer .footer-top svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}@media (max-width:820px){footer.site-footer{grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:12px!important;padding:22px 0 20px!important;display:grid!important}.site-footer .footer-brand{gap:8px;font-size:13px;grid-area:1/1!important;justify-self:start!important}.site-footer .footer-links{grid-area:1/2!important;justify-self:center!important;align-items:center!important;gap:6px!important;display:flex!important}.site-footer .footer-links a{border-radius:6px;transition:color .15s,background-color .15s;width:28px!important;height:28px!important;color:var(--muted)!important;justify-content:center!important;align-items:center!important;display:inline-flex!important}.site-footer .footer-links a:hover{color:var(--accent)!important;background:color-mix(in srgb, var(--accent) 10%, transparent)!important}.site-footer .footer-icon{display:inline-flex!important}.site-footer .footer-text,.site-footer .footer-bullet{display:none!important}.site-footer .footer-top{font-size:13px;grid-area:1/3!important;justify-self:end!important}.site-footer .footer-top-placeholder{display:none}}html.text-scale-xl article.work-card:hover,html.text-scale-xl .showcase:not(.list-view) article.work-card:hover{background:color-mix(in srgb, var(--soft) 96%, var(--background))!important;box-shadow:0 12px 28px color-mix(in srgb, var(--ink) 8%, transparent)!important;border:0!important;transform:translateY(-3px)!important}html.text-scale-xl article.work-card:before{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:var(--background);width:48px;height:48px;color:var(--ink);content:"✦";border-radius:50%;place-items:center;margin-bottom:22px;font-size:21px;font-weight:500;display:grid}html.text-scale-xl article.work-card small{font-family:var(--font-site-heading,"Parkinsans"), sans-serif;font-weight:600}@media (max-width:900px){html.text-scale-xl .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){html.text-scale-xl .card-grid{grid-template-columns:1fr}html.text-scale-xl article.work-card{min-height:220px;border-radius:24px!important}}.xl-sidebar{display:none}html.text-scale-xl .site-header{border:0;border-bottom:1px solid var(--line);width:auto;height:78px;box-shadow:none;border-radius:0;margin:0;padding:0 42px;display:none;position:fixed;top:0;left:300px;right:0}html.text-scale-xl main:before{color:var(--ink);content:"kebal.";font-family:var(--font-site-heading,"Parkinsans"), sans-serif;letter-spacing:-.05em;margin-bottom:46px;font-size:clamp(54px,7vw,104px);font-weight:400;line-height:.9;display:block}html.text-scale-xl main:first-letter{color:var(--ink)}html.text-scale-xl main:after{color:var(--accent)}html.text-scale-xl .site-header .logo{color:var(--ink);font-family:var(--font-site-heading,"Parkinsans"), sans-serif;letter-spacing:-.045em;font-size:50px;font-weight:400;line-height:1;display:block}html.text-scale-xl .site-header .site-nav{display:none}html.text-scale-xl .xl-sidebar{z-index:1100;border:1px solid var(--line);background:color-mix(in srgb, var(--soft) 76%, var(--background));width:276px;box-shadow:0 18px 48px color-mix(in srgb, var(--ink) 14%, transparent);-webkit-backdrop-filter:blur(24px);border-radius:22px;flex-direction:column;padding:18px 14px;display:flex;position:fixed;inset:24px auto 24px 24px}html.text-scale-xl .xl-sidebar-windowbar{gap:7px;height:18px;margin:0 9px 26px;display:flex}html.text-scale-xl .xl-sidebar-windowbar i{background:#ff5f57;border-radius:50%;width:11px;height:11px;box-shadow:inset 0 0 0 1px #00000017}html.text-scale-xl .xl-sidebar-windowbar i:nth-child(2){background:#febc2e}html.text-scale-xl .xl-sidebar-windowbar i:nth-child(3){background:#28c840}html.text-scale-xl .xl-sidebar-section-title{color:var(--muted);padding:0 12px;font-size:13px;font-weight:800}html.text-scale-xl .xl-sidebar-label{color:var(--muted);font-family:var(--font-site-code,"Google Sans Code"), monospace;letter-spacing:.14em;text-transform:uppercase;margin:25px 0 7px;padding:0 12px;font-size:11px;font-weight:700}html.text-scale-xl .xl-sidebar nav{gap:5px;display:grid}html.text-scale-xl .xl-sidebar nav a{min-height:38px;color:var(--muted);border-radius:8px;align-items:center;gap:13px;padding:0 12px;font-size:15px;font-weight:620;transition:background-color .16s,color .16s;display:flex}html.text-scale-xl .xl-sidebar nav a:hover,html.text-scale-xl .xl-sidebar nav a:focus-visible{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink);outline:0}html.text-scale-xl .xl-sidebar nav a:first-child{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-weight:750}html.text-scale-xl .xl-sidebar nav a svg{color:currentColor;opacity:.85}html.text-scale-xl .xl-sidebar-footer{border-top:1px solid var(--line);color:var(--muted);gap:10px;margin-top:auto;padding:14px 12px 0;font-size:12px;font-weight:650;display:grid}html.text-scale-xl .xl-sidebar-footer button{width:fit-content;color:var(--ink);text-underline-offset:4px;font-size:13px;font-weight:800;text-decoration:underline}html.text-scale-xl .xl-sidebar-scale{gap:4px;display:inline-flex}html.text-scale-xl .xl-sidebar-scale button{border:1px solid var(--line);min-width:38px;min-height:34px;color:var(--muted);font-family:var(--font-site-code,"Google Sans Code"), monospace;border-radius:8px;padding:0 10px;font-size:12px;font-weight:800;text-decoration:none}html.text-scale-xl .xl-sidebar-scale button.is-active,html.text-scale-xl .xl-sidebar-scale button:hover{border-color:var(--ink);background:var(--ink);color:var(--background)}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .app-root>div:not(.custom-context-menu)>footer.site-footer,html.text-scale-xl .page-shell,html.text-scale-xl .page-frame,html.text-scale-xl .detail-page,html.text-scale-xl .article-page,html.text-scale-xl main,html.text-scale-xl footer{width:min(1440px,100% - 84px);margin-left:calc(276px + max(72px,50vw - 858px));margin-right:auto}html.text-scale-xl .hero h1,html.text-scale-xl h2,html.text-scale-xl .section-heading a,html.text-scale-xl .work-card h3{font-weight:800}html.text-scale-xl .role,html.text-scale-xl .detail-lead,html.text-scale-xl .article-lead{font-weight:650}html.text-scale-xl .hero h1,html.text-scale-xl .detail-title h1,html.text-scale-xl .article-title h1,html.text-scale-xl .static-intro h1,html.text-scale-xl .collection-title-row h1{letter-spacing:-.075em;font-size:120px;font-weight:800;line-height:.92}@media (max-width:820px){html.text-scale-xl .site-header{width:100%;height:60px;padding:0 16px;left:0}html.text-scale-xl .xl-sidebar{width:min(276px,86vw);padding:18px 14px;position:fixed;inset:16px auto 16px 16px}html.text-scale-xl .site-header .logo{font-size:38px}html.text-scale-xl .hero h1,html.text-scale-xl .detail-title h1,html.text-scale-xl .article-title h1,html.text-scale-xl .static-intro h1,html.text-scale-xl .collection-title-row h1{font-size:clamp(58px,18vw,92px)}html.text-scale-xl .xl-sidebar-label{margin-top:48px}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .app-root>div:not(.custom-context-menu)>footer.site-footer,html.text-scale-xl .page-shell,html.text-scale-xl .page-frame,html.text-scale-xl .detail-page,html.text-scale-xl .article-page,html.text-scale-xl main,html.text-scale-xl footer{width:calc(100% - 32px);margin-left:auto;margin-right:auto}}@media (min-width:821px){html.text-scale-xl .site-header{display:none!important}html.text-scale-xl .xl-sidebar{display:flex!important}}@media (max-width:820px){html.text-scale-xl .site-header{display:none!important}html.text-scale-xl .xl-sidebar{display:flex!important}}.showcase.list-view .card-grid{border-top:1px solid var(--line);flex-direction:column!important;gap:0!important;margin-top:14px!important;display:flex!important}.showcase.list-view article.work-card{border:0!important;border-bottom:1px solid var(--line)!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"title tech""description description"!important;gap:5px 20px!important;margin:0!important;padding:14px!important;transition:background-color .18s!important;display:grid!important;position:relative!important;transform:none!important}.showcase.list-view article.work-card>div{display:contents!important}.showcase.list-view article.work-card h3{color:var(--ink)!important;grid-area:title!important;align-self:center!important;margin:0!important;font-size:14.5px!important;font-weight:600!important;line-height:1.35!important}.showcase.list-view article.work-card small{box-sizing:border-box!important;width:310px!important;max-width:310px!important;color:var(--muted)!important;text-align:right!important;white-space:nowrap!important;grid-area:tech!important;place-self:center end!important;margin:0!important;padding-right:34px!important;font-size:13.5px!important;line-height:1.35!important;display:block!important;position:static!important}.showcase.list-view article.work-card p{width:80%!important;max-width:80%!important;color:var(--muted)!important;grid-area:description!important;margin:0!important;font-size:13px!important;line-height:1.45!important}.showcase.list-view article.work-card:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)!important;border-bottom:1px solid var(--line)!important}.showcase.list-view article.work-card:hover h3{color:var(--accent)!important}.showcase.list-view article.work-card span.arrow-ring{width:26px!important;min-width:26px!important;height:26px!important;top:12px!important;left:auto!important;right:12px!important}.dark .showcase.list-view article.work-card:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)!important}@media (max-width:760px){.showcase.list-view article.work-card{grid-template-columns:1fr!important;grid-template-areas:"title""tech""description"!important;row-gap:4px!important;padding:13px 12px!important}.showcase.list-view article.work-card small{text-align:left!important;white-space:normal!important;justify-self:start!important;width:auto!important;max-width:calc(100% - 34px)!important;padding-right:0!important}.showcase.list-view article.work-card span.arrow-ring{top:11px!important;right:11px!important}}.showcase.list-view article.work-card{grid-template-columns:minmax(0,1fr) 310px 26px!important;grid-template-areas:"title tech arrow""description description description"!important;column-gap:10px!important}.showcase.list-view.hide-meta article.work-card{grid-template-columns:minmax(0,1fr) 26px!important;grid-template-areas:"title arrow""description description"!important}.showcase.list-view article.work-card small{width:310px!important;max-width:310px!important;padding-right:0!important}.showcase.list-view article.work-card span.arrow-ring{opacity:0!important;visibility:hidden!important;pointer-events:none!important;grid-area:arrow!important;place-self:center end!important;margin:0!important;transition:opacity .18s,visibility .18s!important;position:static!important;top:auto!important;left:auto!important;right:auto!important}.showcase.list-view article.work-card span.arrow-ring.is-visible{opacity:1!important;visibility:visible!important}@media (max-width:760px){.showcase.list-view article.work-card{grid-template-columns:minmax(0,1fr) 26px!important;grid-template-areas:"title arrow""tech tech""description description"!important}.showcase.list-view.hide-meta article.work-card{grid-template-areas:"title arrow""description description"!important}.showcase.list-view article.work-card small{width:auto!important;max-width:100%!important}}.collection-page{max-width:700px;margin:0 auto;padding:48px 0 72px}.collection-back{color:var(--muted);align-items:center;gap:7px;margin-bottom:34px;font-size:13.5px;display:inline-flex}.collection-back:hover{color:var(--accent)}.collection-showcase{padding-top:0!important}.collection-showcase .section-heading h1{letter-spacing:-.02em;align-items:center;gap:6px;margin:0;font-size:17px;display:flex}.collection-title-row{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:10px;margin-bottom:18px;display:grid}.collection-title-row h1{letter-spacing:-.02em;margin:0;font-size:17px;line-height:1.3}.collection-back-circle{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.collection-back-circle:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.collection-title-row .view-toggle{justify-self:end;width:30px;height:30px;padding:0!important}.collection-title-row+.card-grid{margin-top:0}@media (max-width:760px){.collection-page{padding:28px 0 56px}}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}::-webkit-scrollbar{width:0;height:0;display:none}.showcase:not(.list-view) article.work-card span.arrow-ring{transform:scale(.85);opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .18s,visibility .18s,transform .18s!important}.showcase:not(.list-view) article.work-card:hover span.arrow-ring,.showcase:not(.list-view) article.work-card span.arrow-ring.is-visible{opacity:1!important;visibility:visible!important;transform:scale(1)!important}.work-card[role=link],.work-card[role=link] *{cursor:pointer!important}.detail-copy{margin-top:0!important;padding-top:0!important}.detail-copy>h2:first-child{margin-top:24px!important}.detail-meta{border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}.detail-copy{border-top:0!important}.ip-preview{background:0 0;border:0;gap:18px;padding:0;display:grid}.ip-snippets,.codepen-snippets{gap:14px;display:grid}.ip-code-panel h3,.codepen-snippet h3{border-bottom:1px solid var(--line);color:var(--ink);margin:0;padding:12px 16px;font-size:12px;font-weight:600}.snippet-chrome{color:#c1c0b6;min-height:48px;font:11px/1 var(--font-site-code,"Google Sans Code"), monospace;background:#2d2a2e;border-bottom:1px solid #49483e;justify-content:flex-start;align-items:center;gap:14px;padding:0 14px;display:flex}.snippet-dots{gap:6px;display:flex}.snippet-dots i{background:#ff6188;border-radius:50%;width:14px;height:14px}.snippet-dots i:nth-child(2){background:#ffd866}.snippet-dots i:nth-child(3){background:#a9dc76}.snippet-filename{align-items:center;gap:9px;display:flex}.snippet-chrome .snippet-filename{justify-self:auto}.snippet-filename small{color:#c1c0b6;font:9px/1.2 var(--font-site-sans,"Google Sans Flex"), sans-serif;background:#49483e;border-radius:4px;padding:3px 6px}.snippet-copy,.snippet-copy-hint{color:#c1c0b6;font:10px/1 var(--font-site-sans,"Google Sans Flex"), sans-serif;background:0 0;border:0;align-items:center;gap:5px;margin-left:auto;display:inline-flex}.snippet-copy{cursor:pointer;border-radius:5px;padding:6px 8px}.snippet-copy:hover{color:#fcfcfa;background:#49483e}.ip-code-panel,.ip-result-panel{border:1px solid var(--line);background:var(--background);border-radius:10px;padding:18px}.ip-result-panel{box-shadow:0 4px 20px color-mix(in srgb, var(--ink) 8%, transparent)}.ip-code-panel .ip-tabs{margin:-18px -18px 14px}.ip-code-panel .ip-code{color:#fcfcfa;white-space:pre;border-top:0;max-height:420px;padding:18px 20px;font-size:12px;line-height:1.75;overflow:auto;background:#221f22!important}.ip-code-panel:has(.snippet-chrome){padding:0}.ip-code-panel:has(.snippet-chrome) h3{display:none}.ip-code-panel .ip-code code,.ip-code-panel .ip-code code span:not([class]),.ip-code-panel .ip-code code{color:#fcfcfa!important}.ip-code-panel .ip-code code .syntax-comment{color:#939293;font-style:italic}.ip-code-panel .ip-code code .syntax-color{color:#ab9df2}.ip-code-panel .ip-code code .syntax-keyword{color:#ff6188}.ip-code-panel .ip-code code .syntax-number{color:#ab9df2}.ip-code-panel .ip-code code .syntax-tag{color:#ff6188}.ip-code-panel .ip-code code .syntax-comment,.ip-code-panel .ip-code code .syntax-string,.ip-code-panel .ip-code code .syntax-color,.ip-code-panel .ip-code code .syntax-keyword,.ip-code-panel .ip-code code .syntax-number,.ip-code-panel .ip-code code .syntax-function,.ip-code-panel .ip-code code .syntax-tag,.ip-code-panel .ip-code code .syntax-attribute,.ip-code-panel .ip-code code .syntax-punctuation{color:inherit}.ip-code-panel .ip-code code .syntax-string{color:#ffd866!important}.ip-code-panel .ip-code code .syntax-color,.ip-code-panel .ip-code code .syntax-number{color:#ab9df2!important}.ip-code-panel .ip-code code .syntax-keyword,.ip-code-panel .ip-code code .syntax-tag{color:#ff6188!important}.ip-code-panel .ip-code code .syntax-function{color:#a9dc76!important}.ip-code-panel .ip-code code .syntax-attribute{color:#78dce8!important}.ip-code-panel .ip-code code .syntax-punctuation{color:#fc9867!important}.ip-code-panel .ip-code code .syntax-comment{color:#939293!important}.codepen-snippet{border:1px solid var(--line);background:var(--background);border-radius:10px;min-width:0;overflow:hidden}.codepen-snippet h3{display:none}.codepen-snippet .snippet-chrome{z-index:1;position:relative}.codepen-snippet iframe{margin-top:0;padding-top:0}.codepen-snippet h3{color:#c1c0b6;background:#2d2a2e;border-bottom:1px solid #49483e}.codepen-snippet iframe{background:var(--background);border:0;width:100%;height:300px;display:block}.codepen-package-note{background:#221f22;border:1px solid #49483e;border-radius:10px;overflow:hidden}.codepen-package-note p{color:#a9dc76;font:12px/1.7 var(--font-site-code,"Google Sans Code"), monospace;margin:0;padding:18px 20px}.detail-preview h3{margin:28px 0 10px;font-size:14px}.detail-preview-copy{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.7}.ip-code-panel{background:var(--background);padding:0;overflow:hidden}.ip-code-panel .ip-tabs{background:var(--background);align-items:stretch;min-height:48px;margin:0;padding:0 10px}.ip-code-panel .ip-tabs button{height:48px;color:var(--muted);border:0;border-top:2px solid #0000;border-radius:0;padding:0 12px;line-height:46px}.ip-code-panel .ip-tabs button.active{border:0;border-top:2px solid var(--accent);background:var(--soft);color:var(--ink);line-height:46px}.ip-code-panel .ip-code{border-top:1px solid var(--line);background:color-mix(in srgb, var(--soft) 62%, var(--background));min-height:0;color:var(--ink);margin:0;padding:22px 20px;font-size:12px;line-height:1.7}.ip-code-panel .ip-code:before{content:none}.ip-code-panel pre.ip-code,.ip-code-panel pre.ip-code code{font-optical-sizing:auto;font-family:var(--font-site-code,"Google Sans Code"), monospace!important;font-variation-settings:"MONO" 1!important;font-style:normal!important}.site-header,.collection-page,.detail-page,.article-page,.site-footer,.page-shell{width:min(700px,100% - 40px);max-width:none;margin-left:auto;margin-right:auto}.collection-page,.detail-page,.article-page{padding-top:48px}.collection-page>.breadcrumb,.detail-page>.breadcrumb,.article-page>.breadcrumb,.page-frame>.breadcrumb{margin-top:0;margin-bottom:24px}.page-frame{width:min(700px,100% - 40px);max-width:none;margin:0 auto;padding-top:48px}.page-frame.page-shell{width:min(700px,100% - 40px)!important;max-width:700px!important;margin:0 auto!important;padding:48px 0 0!important;display:block!important}.page-frame.page-shell>.static-page{width:100%!important;max-width:700px!important;margin:0!important;padding:0 0 86px!important;display:block!important}.page-frame>.static-page .static-intro{padding-bottom:18px}.page-frame>.static-page .static-intro h1{letter-spacing:-.02em;margin:0;font-size:17px;line-height:1.3}.policy-page .static-intro h1,.policy-page .collection-title-row h1{letter-spacing:-.02em;font-size:17px;line-height:1.3}.policy-page .collection-title-row{align-items:center;min-height:22px;margin-bottom:18px}.policy-page .collection-title-row h1{line-height:22px;display:block}.policy-page .policy-content h2{line-height:1.3}.terms-accordion{gap:14px;padding-top:16px;display:grid}.terms-item{background:var(--surface);border-radius:22px;overflow:hidden}.terms-trigger{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:25px 28px;font-size:17px;font-weight:700;line-height:1.25;display:flex}.terms-trigger:hover{color:var(--accent)}.terms-heading{align-items:baseline;gap:18px;min-width:0;display:inline-flex}.terms-number{color:var(--ink);letter-spacing:.04em;flex:none;font-size:13px;font-weight:700}.terms-title{min-width:0;color:var(--ink)}.terms-chevron{color:color-mix(in srgb, var(--ink) 72%, transparent);transition:color .16s}.terms-trigger:hover .terms-chevron{color:currentColor}.terms-panel{padding:0 28px 25px}.terms-panel p{margin:0}@media (max-width:760px){.terms-trigger{gap:12px;padding:22px 20px;font-size:16px}.terms-heading{gap:12px}.terms-panel{padding:0 20px 22px}}.resume-page .resume-timeline:not(.resume-education) article:before{content:""!important;border-top:1px solid var(--line)!important;width:34px!important;height:0!important;box-shadow:none!important;background:0 0!important;display:block!important;position:absolute!important;top:31px!important;left:-35px!important}.resume-page .resume-timeline:not(.resume-education) article:after{content:none!important;display:none!important}.resume-page .resume-timeline:not(.resume-education) article:before,.resume-page .resume-timeline:not(.resume-education) article:after{content:none!important;box-shadow:none!important;background:0 0!important;border:0!important;display:none!important}.resume-page .resume-timeline:not(.resume-education) article{box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.resume-page .resume-timeline:not(.resume-education){gap:0!important;padding:0!important;display:grid!important;position:relative!important}.resume-page .resume-timeline:not(.resume-education) article:before,.resume-page .resume-timeline:not(.resume-education) article:after,.resume-page .resume-timeline:not(.resume-education) .resume-timeline-marker{display:none!important}.resume-page .resume-timeline:not(.resume-education) article>div,.resume-page .resume-timeline:not(.resume-education) article>ul{margin:0!important;padding:0!important}.resume-page .resume-timeline:not(.resume-education) article>ul{margin-top:14px!important;padding-left:18px!important}.resume-page .resume-education article:before,.resume-page .resume-education article:after{display:none!important}.resume-page .resume-timeline:not(.resume-education){padding-left:0!important}.resume-page .resume-timeline:not(.resume-education) article{margin-left:34px!important}.resume-page .resume-timeline:not(.resume-education) article:before{width:60px!important;top:9px!important;left:-60px!important}.resume-page .resume-timeline:not(.resume-education) .resume-timeline-marker{display:none!important}.resume-page .resume-timeline:not(.resume-education){gap:0;padding-left:34px;display:grid}.resume-page .resume-timeline:not(.resume-education):before{top:16px!important;bottom:16px!important;left:7px!important}.resume-page .resume-timeline:not(.resume-education) article{background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0 0 30px!important}.resume-page .resume-timeline:not(.resume-education) article:last-child{padding-bottom:0!important}.resume-page .resume-timeline:not(.resume-education) article:before{border-top:1px solid var(--line);width:27px!important;top:31px!important;left:-27px!important}.resume-page .resume-timeline:not(.resume-education) .resume-timeline-marker{border:2px solid var(--line)!important;background:var(--surface)!important;border-radius:50%!important;width:12px!important;height:12px!important;top:25px!important;left:-34px!important}.resume-page .resume-timeline:not(.resume-education) article>div,.resume-page .resume-timeline:not(.resume-education) article>ul{margin:0!important}.resume-page .resume-timeline:not(.resume-education) article>div{padding:0!important}.resume-page .resume-timeline:not(.resume-education) article>ul{margin-top:14px!important;padding:0 0 0 18px!important}.resume-page .resume-timeline:not(.resume-education) .resume-experience-head span{grid-column:1!important;font-size:13px!important}.resume-page .resume-timeline:not(.resume-education) .resume-timeline-marker{width:14px;height:14px;color:var(--accent);z-index:2;display:block;position:absolute;top:24px;left:-35px;transform:rotate(90deg);border:2px solid var(--line)!important;background:var(--surface)!important;clip-path:none!important;border-radius:50%!important;width:12px!important;height:12px!important;top:25px!important;left:-26px!important;transform:none!important}.resume-page .resume-timeline:not(.resume-education) .resume-timeline-marker{top:24px!important;left:-31px!important}.resume-page .resume-timeline:not(.resume-education) article:before{z-index:3;pointer-events:none}.resume-page .resume-timeline:not(.resume-education) .resume-timeline-marker{fill:var(--line);stroke:var(--line);stroke-width:1.8px;stroke-linejoin:round;overflow:visible}.resume-page .resume-timeline:not(.resume-education):before{left:11px!important}.resume-page .resume-timeline:not(.resume-education) article:before{width:17px!important;left:-17px!important}.resume-page .resume-timeline:not(.resume-education) .resume-timeline-marker{left:-26px!important}.resume-page .resume-timeline:not(.resume-education):before{top:31px!important}.resume-page .resume-timeline:not(.resume-education) article>i{clip-path:polygon(0 0,100% 50%,0 100%);transform:rotate(0);background:var(--accent)!important;border:0!important;border-radius:0!important;width:14px!important;height:14px!important;top:24px!important}.resume-page .resume-timeline:not(.resume-education) article{border:1px solid var(--line)!important;background:var(--surface)!important;border-radius:10px!important;margin:0 0 20px!important;padding:20px!important;position:relative!important}.resume-page .resume-timeline:not(.resume-education) article:last-child{margin-bottom:0!important}.resume-page .resume-timeline:not(.resume-education) article:after{display:none!important}.resume-page .resume-timeline:not(.resume-education) article>div{margin:0!important;padding:0!important}.resume-page .resume-timeline:not(.resume-education) article>ul{margin:15px 0 0!important;padding:0 0 0 18px!important}.resume-page .resume-timeline:not(.resume-education) article>i{width:13px!important;height:13px!important;top:25px!important;left:-34px!important}.resume-page .resume-timeline:not(.resume-education) .resume-experience-head{grid-template-columns:1fr auto!important;gap:1px 10px!important;display:grid!important}.resume-page .resume-timeline:not(.resume-education) .resume-experience-head h3{grid-column:1/-1!important;margin:0!important;font-size:15px!important;line-height:1.3!important}.resume-page .resume-timeline:not(.resume-education) .resume-experience-head span{grid-column:1!important;margin:0!important;font-size:13px!important;line-height:1.35!important}.resume-page .resume-timeline:not(.resume-education) .resume-experience-head time{grid-area:2/2!important;font-size:12px!important}.resume-page .resume-timeline:not(.resume-education) article:before{width:20px!important;top:31px!important;left:-20px!important}.resume-timeline:not(.resume-education) article{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0 0 20px;padding:20px;position:relative}.resume-timeline:not(.resume-education) article:last-child{margin-bottom:0}.resume-timeline:not(.resume-education) article:after{display:none}.resume-timeline:not(.resume-education) article>div,.resume-timeline:not(.resume-education) article>ul{margin-left:0;margin-right:0}.resume-timeline:not(.resume-education) article>i{top:25px}.resume-timeline:not(.resume-education) article:before{top:31px}.resume-timeline:not(.resume-education) .resume-experience-head{gap:1px 10px}.resume-timeline:not(.resume-education) .resume-experience-head span{line-height:1.35}.resume-timeline:not(.resume-education){gap:0;padding-left:34px}.resume-timeline:not(.resume-education):before{top:16px;bottom:16px;left:7px}.resume-timeline:not(.resume-education) article{padding:0 0 28px}.resume-timeline:not(.resume-education) article:last-child{padding-bottom:0}.resume-timeline:not(.resume-education) article>i{border:2px solid var(--accent);z-index:2;width:13px;height:13px;top:19px;left:-34px}.resume-timeline:not(.resume-education) article:before{content:"";border-top:1px solid var(--line);width:20px;position:absolute;top:25px;left:-20px}.resume-timeline:not(.resume-education) article:after{content:"";border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, var(--line));z-index:-1;border-radius:10px;position:absolute;inset:0 0 28px -1px}.resume-timeline:not(.resume-education) article:last-child:after{bottom:0}.resume-timeline:not(.resume-education) article>div,.resume-timeline:not(.resume-education) article>ul{margin-left:20px;margin-right:20px;position:relative}.resume-timeline:not(.resume-education) article>div{padding-top:20px}.resume-timeline:not(.resume-education) article>ul{padding-bottom:20px}.resume-timeline:not(.resume-education) .resume-experience-head{grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;display:grid}.resume-timeline:not(.resume-education) .resume-experience-head h3{grid-column:1/-1}.resume-timeline:not(.resume-education) .resume-experience-head span{grid-column:1}.resume-timeline:not(.resume-education) .resume-experience-head time{grid-area:2/2}.resume-timeline:not(.resume-education) article>ul{margin-top:16px}.resume-actions>a.resume-location{gap:6px;min-width:max-content;width:auto!important;padding:0 12px!important}.resume-actions .resume-download{margin-left:10px;position:relative}.resume-actions .resume-download:before{content:"";border-left:1px solid var(--line);height:18px;position:absolute;top:8px;left:-10px}.resume-contact{flex-wrap:wrap;gap:5px 14px;margin-top:7px;display:flex}.resume-contact span,.resume-contact a{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}.resume-contact a:hover{color:var(--accent)}.resume-contact span,.resume-contact a{border:1px solid var(--line);border-radius:8px;justify-content:center;width:30px;height:30px;padding:0;font-size:0}.resume-contact span svg,.resume-contact a svg{flex:none}.resume-contact span{cursor:help}.resume-download{cursor:pointer;background:0 0;font-family:inherit}.resume-location{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.resume-location svg{flex:none}.resume-actions{gap:8px}.resume-actions>a:not(.resume-download){cursor:pointer;border-radius:999px;width:34px;height:34px;min-height:34px;padding:0}.resume-actions .resume-location{border:1px solid var(--line);cursor:pointer;border-radius:999px;width:auto;height:34px;padding:0 12px}.resume-actions .resume-download{cursor:pointer;border-radius:999px;height:34px;min-height:34px;margin-left:0;padding:0 13px}.resume-actions>a:hover,.resume-actions .resume-download:hover,.resume-actions .resume-location:hover{border-color:var(--accent);color:var(--accent);background:#fff0ec}.resume-page .resume-section{margin:0!important;padding-top:40px!important}.resume-page .tree-group{margin-bottom:16px;padding-top:0}.resume-page .tree-group:last-child{margin-bottom:0}.resume-page .tree-group:before{bottom:-16px}.resume-page .tree-group:after,.resume-page .resume-history-tree>.tree-group:first-child:before{top:10px}.resume-page .resume-history-tree>.tree-group:last-child:before{height:10px!important}.resume-page .resume-hero{margin-bottom:0;padding-bottom:24px}.resume-page>.resume-section:first-of-type{padding-top:24px!important}.resume-page .resume-section h2{margin-bottom:10px}.resume-timeline{gap:0;padding-left:24px;display:grid;position:relative}.resume-timeline:before{content:"";border-left:1px solid var(--line);position:absolute;top:8px;bottom:8px;left:5px}.resume-timeline article{background:0 0;border:0;border-radius:0;padding:0 0 26px;position:relative}.resume-timeline article:last-child{padding-bottom:0}.resume-timeline article>i{border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:11px;height:11px;position:absolute;top:7px;left:-24px}.resume-timeline .resume-experience-head{padding:0}.resume-education p{margin:0}.resume-project-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.resume-project-grid article{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, var(--line));border-radius:9px;flex-direction:column;min-height:210px;padding:20px;display:flex}.resume-project-grid h3{margin:0 0 8px;font-size:16px}.resume-project-grid span{color:var(--muted);font-size:12px;line-height:1.5}.resume-project-grid p{color:var(--muted);margin:18px 0;font-size:13px;line-height:1.6}.resume-project-grid a{color:var(--accent);margin-top:auto;font-size:13px}.resume-languages{gap:22px;display:grid}.resume-languages>div>span{font-size:14px;display:block}.resume-languages strong{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.language-meter{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px;display:grid}.language-meter i{background:var(--line);border-radius:99px;height:4px}:is(.language-meter i.active,.language-meter i:nth-child(-n+3):has(~i.active)){background:var(--accent)}@media (max-width:760px){.resume-project-grid{grid-template-columns:1fr}.resume-timeline{padding-left:22px}}.resume-experience article ul{color:var(--muted);margin:16px 0 0;padding-left:18px;font-size:14px;line-height:1.65}.resume-experience article li+li{margin-top:6px}.resume-experience article a{color:var(--accent);margin-top:14px;font-size:13px;display:inline-block}.resume-columns{grid-template-columns:1.2fr .8fr;gap:48px;display:grid}.resume-columns p{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.65}.resume-columns strong{color:var(--ink);font-weight:600}.resume-columns span{font-size:13px}@media (max-width:760px){.resume-columns{grid-template-columns:1fr;gap:0}}.resume-page{padding-bottom:86px}.resume-hero{border-bottom:1px solid var(--line);margin-bottom:24px;padding:18px 0 34px}.resume-avatar{background:var(--accent);color:#fff;letter-spacing:-.04em;border-radius:50%;place-items:center;width:78px;height:78px;margin-bottom:22px;font-size:22px;font-weight:650;display:grid}.resume-heading h1{letter-spacing:-.035em;margin:0 0 8px;font-size:24px;line-height:1.15}.resume-heading p{color:var(--muted);margin:0;font-size:15px;line-height:1.6}.resume-heading .resume-role{margin-bottom:2px;font-size:16px}.resume-actions{align-items:center;gap:9px;margin-top:14px;display:flex}.resume-actions>a{border:1px solid var(--line);min-height:38px;color:var(--ink);border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 11px;transition:border-color .18s,color .18s;display:inline-flex}.resume-actions>a:hover{border-color:var(--accent);color:var(--accent)}.resume-actions .resume-download{margin-left:7px;padding:0 14px;font-size:13px}.resume-section{padding-top:38px}.resume-section h2{margin:0 0 12px;font-size:17px;line-height:1.3}.resume-section>p{max-width:650px;color:var(--muted);margin:0;font-size:15px;line-height:1.6}.resume-experience{gap:12px;display:grid}.resume-experience article{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, var(--line));border-radius:9px;padding:22px}.resume-experience-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.resume-experience h3{margin:0;font-size:15px}.resume-experience-head span,.resume-experience-head time{color:var(--muted);font-size:13px}.resume-experience-head time{margin-left:auto}.resume-experience article p{color:var(--muted);margin:16px 0 0;font-size:14px;line-height:1.65}.resume-skills{flex-wrap:wrap;gap:8px;display:flex}.resume-skills span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:13px}@media (max-width:760px){.resume-heading h1{font-size:21px}.resume-actions{flex-wrap:wrap}.resume-actions .resume-download{margin-left:0}.resume-experience-head time{width:100%;margin-left:0}}.policy-page .article-body{padding-top:38px}.policy-page .article-body h2{letter-spacing:-.015em;margin:0 0 14px;font-size:16px;line-height:1.3}.policy-page .article-body p{color:var(--muted);margin:0 0 13px;font-size:13.5px;line-height:1.72}.static-page{padding-top:0}@media (max-width:760px){.collection-page,.detail-page,.article-page,.page-frame{width:calc(100% - 40px);padding-top:28px}.page-frame>.breadcrumb{margin-top:0;margin-bottom:24px}.page-frame>.static-page{padding-top:0}}.page-frame{width:min(700px,100% - 40px);max-width:none;margin:0 auto;padding-top:48px;display:block!important}.page-frame>.breadcrumb{margin-top:0;margin-bottom:24px}.page-frame>.static-page{width:100%;max-width:none;margin:0;padding-top:0}@media (max-width:760px){.page-frame{width:calc(100% - 40px);padding-top:28px}.page-frame.page-shell{width:calc(100% - 40px)!important;padding-top:28px!important}.page-frame>.breadcrumb{margin-top:0;margin-bottom:24px}.page-frame>.static-page{padding-top:0}}.work-card[role=link]:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px!important}.detail-page{max-width:680px;margin:0 auto;padding:48px 0 74px}.detail-title{align-items:center;gap:12px;min-height:30px;margin-bottom:16px;display:flex}.detail-title .collection-back-circle{flex:0 0 30px}.detail-title h1{letter-spacing:-.02em;margin:0;font-size:18px}.detail-lead{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.detail-actions{gap:10px;margin-top:20px;display:flex}.detail-actions a{background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:6px;align-items:center;gap:7px;padding:7px 11px;font-size:13.5px;display:inline-flex}.detail-actions a:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.detail-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:22px;margin:24px 0 0;padding:20px 0 28px;display:grid}.detail-meta div{min-width:0}.detail-meta dt{color:var(--muted);font-family:var(--font-site-code,"Google Sans Code"), monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px}.detail-meta dd{margin:0;font-size:13px;line-height:1.5}.detail-copy{padding-top:8px}.detail-copy h2{margin:31px 0 12px;font-size:15px}.detail-copy p{color:var(--ink);margin:0;font-size:14px;line-height:1.7}.detail-points{gap:9px;margin-top:17px;display:grid}.detail-points div{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, transparent);border-radius:7px;flex-direction:column;gap:5px;padding:12px 14px;display:flex}.detail-points b{font-size:13.5px}.detail-points span{color:var(--muted);font-size:13px}.detail-copy ol{gap:10px;margin:0;padding-left:28px;display:grid}.detail-copy li{padding-left:5px;font-size:13.5px;line-height:1.55}.detail-tech{flex-wrap:wrap;gap:8px;display:flex}.detail-tech span{background:color-mix(in srgb, var(--ink) 6%, transparent);font-family:var(--font-site-code,"Google Sans Code"), monospace;color:var(--muted);border-radius:5px;padding:6px 9px;font-size:11px}.related{border-top:1px solid var(--line);margin-top:54px;padding-top:28px}.related h2{margin:0 0 14px;font-size:15px}.related>div{border-top:1px solid var(--line);gap:0;display:grid}.related a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 2px;display:flex}.related a:hover{color:var(--accent);background:color-mix(in srgb, var(--ink) 3%, transparent)}.related a span{flex-direction:column;gap:4px;display:flex}.related a b{font-size:13.5px}.related a small{color:var(--muted);font-size:12.5px;font-weight:400}.related>.card-grid{border-top:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;margin-top:18px!important;display:grid!important;overflow-x:visible!important}.related .work-card{min-width:0;min-height:155px!important;padding:22px 20px 18px!important}@media (max-width:760px){.related>.card-grid{grid-template-columns:1fr!important;grid-auto-flow:row!important;overflow-x:visible!important}.related .work-card{min-height:140px!important;padding:20px!important}}.work-card p{-webkit-line-clamp:3!important;line-clamp:3!important;text-overflow:ellipsis!important;color:var(--muted)!important;-webkit-box-orient:vertical!important;line-height:1.5!important;display:-webkit-box!important;overflow:hidden!important}.showcase:not(.list-view) .work-card{box-sizing:border-box!important;flex-direction:column!important;justify-content:flex-start!important;height:auto!important;min-height:155px!important;padding:22px 20px 18px!important;display:flex!important}.showcase:not(.list-view) .work-card>div{justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;margin-bottom:8px!important;padding-right:32px!important;display:flex!important}.showcase:not(.list-view) .work-card h3{align-items:center!important;gap:6px!important;max-width:100%!important;margin:0!important;font-size:15px!important;font-weight:600!important;line-height:1.35!important;display:flex!important}.view-toggle-placeholder{width:30px;height:30px;display:block}.showcase:not(.list-view) .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;display:grid!important;overflow-x:visible!important}.collection-showcase.hide-meta.list-view .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;display:grid!important}.showcase:not(.list-view) .work-card,.showcase:not(.list-view) .work-card>div,.showcase:not(.list-view) .work-card h3{width:auto!important;min-width:0!important}@media (max-width:760px){.showcase:not(.list-view) .card-grid,.collection-showcase:not(.list-view) .card-grid{grid-template-columns:1fr!important;grid-auto-flow:row!important;overflow-x:visible!important}.collection-showcase.hide-meta.list-view .card-grid{grid-template-columns:1fr!important;gap:13px!important}.collection-showcase.hide-meta.list-view .work-card{border:1px solid var(--line)!important;min-height:140px!important;padding:20px!important}}.showcase .work-card h3{min-width:0!important}.showcase .work-card p{-webkit-line-clamp:3!important;line-clamp:3!important}.showcase.writing-list article.work-card{grid-template-columns:minmax(0,1fr) 26px!important;grid-template-areas:"title arrow""description description""tech tech"!important;row-gap:5px!important}.showcase.writing-list article.work-card small{text-align:left!important;grid-area:tech!important;justify-self:start!important;width:auto!important;max-width:100%!important;margin-top:8px!important;padding:0!important}@media (max-width:760px){.showcase.writing-list article.work-card{grid-template-columns:minmax(0,1fr) 26px!important;grid-template-areas:"title arrow""description description""tech tech"!important}.showcase.writing-list article.work-card small{margin-top:8px!important}.detail-page{padding:32px 0 56px}.detail-meta{grid-template-columns:1fr 1fr}.detail-lead{font-size:13.5px}}.hero-actions>a:first-child,.hero-actions>a:nth-child(2){color:#10131a!important;background:#eee!important;border-radius:6px!important;height:33px!important;min-height:33px!important;padding:0 12px!important;text-decoration:none!important}.hero-actions>a:first-child:hover,.hero-actions>a:nth-child(2):hover{color:#e45d46!important;background:#fff0ec!important}.dark .hero-actions>a:first-child,.dark .hero-actions>a:nth-child(2){color:#f4f4f1!important;background:#1b1e23!important}.dark .hero-actions>a:first-child:hover,.dark .hero-actions>a:nth-child(2):hover{color:#ff846b!important;background:#2a1c19!important}.page-frame.page-shell.resume-frame{width:min(1100px,100% - 16px)!important;max-width:1100px!important}.page-frame.page-shell.resume-frame>.breadcrumb{width:min(700px,100vw - 40px);margin-left:auto;margin-right:auto}.resume-frame .resume-page{min-height:0;box-shadow:none;background:0 0;border:0;margin:0 auto;width:100%!important;max-width:1100px!important;padding:0!important}.resume-page .resume-paper{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);border-radius:3px;width:min(794px,100%);min-height:1123px;margin:0 auto 24px;padding:48px 56px 64px;position:relative;box-shadow:0 18px 55px #141b261a}.resume-page .resume-paper>.resume-section:first-of-type{padding-top:24px!important}.resume-page .resume-page-number{color:var(--muted);letter-spacing:.06em;font-size:11px;position:absolute;bottom:26px;right:56px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.gallery-showcase .collection-title-row{margin-bottom:18px}.gallery-filter-row{align-items:center;gap:16px;margin:0 0 16px;display:flex}.gallery-filters{flex-wrap:wrap;align-items:center;gap:24px;min-width:0;display:flex}.gallery-filter{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:0;flex:none;padding:0;font-size:12px;transition:color .18s}.gallery-filter:hover,.gallery-filter.is-active{color:var(--ink);background:0 0}.gallery-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gallery-more{color:var(--muted);flex:none;font-size:12px;position:relative}.gallery-more summary{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;list-style:none;display:flex}.gallery-more summary::-webkit-details-marker{display:none}.gallery-more summary:hover,.gallery-more summary.is-active{color:var(--ink)}.gallery-more-menu{z-index:10;border:1px solid var(--line);background:var(--background);min-width:150px;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 12%, transparent);border-radius:9px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 10px);left:-12px}.gallery-more-menu button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:5px;padding:8px 10px;font-size:12px}.gallery-more-menu button:hover,.gallery-more-menu button.is-active{background:var(--soft);color:var(--ink)}.gallery-count{color:var(--muted);margin-left:auto;font-size:12px}.gallery-detail-heading{margin-top:0;margin-bottom:24px}.gallery-image-wrap{aspect-ratio:3/4;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, var(--line));width:100%;color:inherit;cursor:pointer;appearance:none;border-radius:9px;padding:0;text-decoration:none;display:block;overflow:hidden}.gallery-image-card{min-width:0;color:inherit;text-decoration:none;display:block}.gallery-image-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:10px}.gallery-image-wrap img{object-fit:cover;cursor:pointer;width:100%;height:100%;transition:transform .35s cubic-bezier(.2,.7,.2,1);display:block}.gallery-image-wrap:hover img{transform:scale(1.06)}.gallery-detail-media{aspect-ratio:4/3;background:color-mix(in srgb, var(--surface) 88%, var(--line));border-radius:8px;width:100%;position:relative;overflow:hidden}.gallery-detail-image{object-fit:cover;width:100%;height:100%;display:block}.gallery-detail-zoom{background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.gallery-detail-zoom .gallery-detail-image{transition:transform .25s}.gallery-detail-zoom.is-zoomed .gallery-detail-image{transform:scale(1.8)}.gallery-detail-zoom:hover,.gallery-detail-zoom.is-zoomed,.gallery-detail-zoom:hover .gallery-detail-image,.gallery-detail-zoom.is-zoomed .gallery-detail-image{cursor:url(/cursors/zoom-in.svg) 11 11,none!important}.gallery-detail-zoom.is-zoomed:hover,.gallery-detail-zoom.is-zoomed:hover .gallery-detail-image{cursor:url(/cursors/zoom-out.svg) 11 11,none!important}.gallery-image-nav{color:#fff;background:#14161a7a;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:42px;height:42px;transition:background .18s,transform .18s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-image-nav:hover{background:#14161ac2;transform:translateY(-50%)scale(1.06)}.gallery-image-nav-previous{left:16px}.gallery-image-nav-next{right:16px}.gallery-detail-caption{color:var(--muted);margin:14px 0 22px;font-size:14px;line-height:1.65}.gallery-detail-meta{flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.gallery-detail-meta>div{min-width:0}.gallery-detail-meta dt{color:var(--muted);margin-bottom:5px;font-size:11px}.gallery-detail-meta dd{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.gallery-detail-meta dd a{color:inherit}.gallery-detail-meta dd a:hover{color:var(--accent)}@media (max-width:760px){.page-frame.page-shell.resume-frame{width:calc(100% - 16px)!important}.resume-page .resume-paper{min-height:0;margin-bottom:16px;padding:30px 22px 54px}.resume-page .resume-page-number{bottom:18px;right:22px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.gallery-showcase .gallery-grid{gap:14px 10px}.gallery-filters{gap:14px}.gallery-image-nav{width:36px;height:36px}.gallery-image-nav-previous{left:10px}.gallery-image-nav-next{right:10px}}@media (max-width:480px){.gallery-grid{grid-template-columns:1fr}}html.dark body{color:var(--ink);background:var(--background)!important}.visitor-survey-backdrop{z-index:20000;opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#0c0f1385;place-content:safe center center;place-items:center;padding:24px 16px;transition:opacity .24s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:grid;position:fixed;inset:0;overflow-y:auto}.visitor-survey-backdrop.is-visible{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.visitor-survey-backdrop:not(.is-visible){pointer-events:none}.visitor-survey{border:1px solid var(--line);background:var(--background);width:min(100%,540px);max-height:calc(100dvh - 48px);color:var(--ink);opacity:0;filter:blur(3px);transform-origin:50%;border-radius:14px;padding:24px;transition:opacity .22s,filter .22s,transform .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden auto;transform:translateY(12px)scale(.985);box-shadow:0 24px 80px #0000003d}.visitor-survey-backdrop.is-visible .visitor-survey{opacity:1;filter:blur();transform:translateY(0)scale(1)}.visitor-survey.is-shaking{animation:.38s ease-in-out visitor-survey-shake}.visitor-survey-success{text-align:center;justify-items:center;padding:16px 4px 8px;display:grid}.visitor-survey-success-mark{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:54px;height:54px;animation:.45s cubic-bezier(.2,1.5,.5,1) both visitor-survey-success-pop;display:grid}.visitor-survey-success-mark svg{width:29px;height:29px}.visitor-survey-success-mark path{stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24px;animation:.36s ease-out .18s forwards visitor-survey-check-draw}.visitor-survey-success h2{margin:18px 0 6px}.visitor-survey-success p{max-width:360px;color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.6}.visitor-survey-success .visitor-survey-submit{min-width:110px}@keyframes visitor-survey-success-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes visitor-survey-check-draw{to{stroke-dashoffset:0}}@keyframes visitor-survey-shake{0%,to{translate:0}20%,60%{translate:-7px}40%,80%{translate:7px}}@media (prefers-reduced-motion:reduce){.visitor-survey-backdrop,.visitor-survey,.visitor-survey.is-shaking,.visitor-survey-success-mark,.visitor-survey-success-mark path{transition:none;animation:none}.visitor-survey{filter:none;border-radius:14px;transform:none}.visitor-survey-success-mark path{stroke-dashoffset:0}}.visitor-survey-close{width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;font-size:23px;line-height:1;display:grid;position:absolute;top:14px;right:14px}.visitor-survey-close:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}.visitor-survey-eyebrow{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:600}.visitor-survey h2{max-width:350px;color:var(--ink);letter-spacing:-.025em;margin:12px 0 8px;font-size:22px;line-height:1.3}.visitor-survey-intro{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.6}.visitor-survey form>label:not(.visitor-survey-consent){color:var(--ink);margin:14px 0 6px;font-size:12px;font-weight:550;display:block}.visitor-survey input:not([type=checkbox]),.visitor-survey select,.visitor-country-trigger{border:1px solid var(--line);background:var(--background);width:100%;height:42px;color:var(--ink);font:inherit;border-radius:9px;outline:none;padding:0 12px;font-size:13px;display:block}.visitor-survey input::placeholder{color:var(--muted);opacity:.8}.visitor-survey input:focus,.visitor-survey select:focus,.visitor-country-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.visitor-country-picker{position:relative}.visitor-country-trigger{text-align:left;font-optical-sizing:auto;font-variation-settings:"slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 100;justify-content:space-between;align-items:center;gap:12px;transition:border-color .15s,box-shadow .15s;display:flex;border:1px solid var(--line)!important;font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif!important;color:var(--ink)!important;background:var(--background)!important}.visitor-country-trigger:hover{color:var(--ink)!important;border:1px solid var(--accent)!important;background:var(--background)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)!important}.visitor-country-trigger:focus-visible{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)!important}.visitor-country-picker.is-open .visitor-country-trigger{border-color:var(--accent)!important}.visitor-country-trigger .is-placeholder{color:var(--muted);opacity:.8}.visitor-country-chevron{width:8px;height:8px;color:var(--muted);border-bottom:1.5px solid;border-right:1.5px solid;flex:0 0 8px;transition:transform .15s;transform:translateY(-2px)rotate(45deg)}.visitor-country-picker.is-open .visitor-country-chevron{transform:translateY(2px)rotate(225deg)}.visitor-country-menu{z-index:30000;border:1px solid var(--line);background:var(--background);border-radius:12px;flex-direction:column;max-height:min(300px,100dvh - 24px);padding:8px;display:flex;position:fixed;box-shadow:0 14px 36px #00000026}.visitor-country-search{box-sizing:border-box;width:100%;height:42px;color:var(--ink);font-optical-sizing:auto;font-variation-settings:"slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 100;flex:0 0 42px;padding:0 12px;font-size:13px;line-height:1.55;transition:border-color .15s,box-shadow .15s;display:block;border:1px solid var(--line)!important;background:var(--background)!important;box-shadow:none!important;font:inherit!important;font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif!important;border-radius:9px!important}.visitor-country-search:hover{border-color:var(--accent)!important}.visitor-country-search:focus{outline:0;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)!important}.visitor-country-search::placeholder{color:var(--muted);opacity:.85}.visitor-country-options{overscroll-behavior:contain;min-height:0;max-height:min(260px,100dvh - 90px);margin-top:6px;display:grid;overflow-y:auto}.visitor-country-option{min-height:34px;color:var(--ink);font-size:12px;font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif;font-variation-settings:"slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 100;text-align:left;border-radius:7px;align-items:center;padding:0 10px;display:flex}.visitor-country-divider{background:var(--line);height:1px;margin:5px 8px;display:block}.visitor-country-option:hover,.visitor-country-option[aria-selected=true]{background:color-mix(in srgb, var(--accent) 12%, var(--background))!important;color:var(--accent)!important}.visitor-country-empty{color:var(--muted);padding:10px;font-size:12px}.visitor-survey-consent{color:var(--ink);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;margin-top:16px;font-size:12px;line-height:1.5;display:grid}.visitor-survey-consent input{appearance:none;border:1.5px solid var(--line);background:var(--background);cursor:pointer;border-radius:5px;place-content:center;width:18px;height:18px;margin:1px 0 0;transition:background-color .15s,border-color .15s,box-shadow .15s;display:grid}.visitor-survey-consent input:hover{border-color:var(--accent)}.visitor-survey-consent input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:0}.visitor-survey-consent input:checked{border-color:var(--accent);background:var(--accent)}.visitor-survey-consent input:checked:before{content:"";border-bottom:1.5px solid #fff;border-left:1.5px solid #fff;width:9px;height:5px;transform:translateY(-1px)rotate(-45deg)}.visitor-survey-consent input:disabled{cursor:not-allowed;accent-color:var(--accent)}.visitor-survey-privacy,.visitor-survey-error{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.5}.visitor-survey-privacy a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.visitor-survey-error{color:#c33e35}.dark .visitor-survey-error{color:#ff958b}.visitor-survey-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.visitor-survey-actions button{border:1px solid var(--line);border-radius:9px;min-height:38px;padding:0 13px;font-size:12px;font-weight:550;transition:background-color .15s,border-color .15s,opacity .15s}.visitor-survey-skip{color:var(--ink)}.visitor-survey-skip:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.visitor-survey-submit{background:var(--ink);color:var(--background);border-color:var(--ink)!important}.visitor-survey-submit:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)!important}.visitor-survey-submit:disabled,.visitor-survey-skip:disabled{cursor:not-allowed;opacity:.48}.visitor-survey-reminder{isolation:isolate;z-index:19999;box-sizing:border-box;border:1px solid var(--line);width:280px;min-width:min(250px,100vw - 32px);max-width:calc(100vw - 32px);color:var(--ink);text-align:left;-webkit-user-select:none;user-select:none;border-radius:12px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 15px;font-size:12px;line-height:1.4;transition:bottom .32s cubic-bezier(.22,1,.36,1);animation:.22s ease-out both visitor-reminder-in;display:grid;position:fixed;bottom:22px;right:max(22px,50vw - 350px);overflow:hidden;box-shadow:0 12px 36px #00000029;background:var(--background)!important;opacity:1!important}.visitor-survey-reminder.is-footer-visible{bottom:74px}.visitor-survey-reminder:hover{border-color:var(--accent);background:var(--background)!important;color:var(--ink)!important}.visitor-survey-reminder>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;color:var(--ink)!important}.visitor-survey-reminder .visitor-survey-reminder-action{white-space:nowrap;color:var(--muted)!important;margin:0!important;position:static!important}.visitor-survey-reminder:hover .visitor-survey-reminder-action{color:var(--accent)!important}.visitor-survey-reminder-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.visitor-survey-reminder-action{color:var(--muted);font-weight:600}@keyframes visitor-reminder-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:520px){.visitor-survey{padding:18px}.visitor-survey h2{font-size:20px}.visitor-survey-actions{grid-template-columns:1fr 1fr;display:grid}.visitor-survey-reminder{right:20px;bottom:calc(16px + env(safe-area-inset-bottom))}.visitor-survey-reminder.is-footer-visible{bottom:calc(82px + env(safe-area-inset-bottom))}}.search-backdrop{z-index:10000;background:color-mix(in srgb, var(--ink) 34%, transparent);-webkit-backdrop-filter:blur(7px);align-items:flex-start;padding:clamp(64px,11vh,104px) 16px 24px}.search-dialog{border:1px solid var(--line);background:var(--background);width:min(480px,100%);max-height:calc(100dvh - 96px);color:var(--ink);border-radius:14px;flex-direction:column;display:flex;box-shadow:0 20px 60px #0000002e}.search-input{border-bottom:1px solid var(--line);height:54px;color:var(--muted);flex:0 0 54px;gap:11px;padding:0 15px}.search-input input{min-width:0;font-family:var(--font-site-sans,"Google Sans Flex"), sans-serif;font-size:14px}.search-input input::placeholder{color:var(--muted);opacity:.8}.search-input button{border-radius:6px;flex:none;padding:4px 7px;font-size:10px;border:1px solid var(--line)!important;background:var(--soft)!important;color:var(--muted)!important}.search-input button:hover{border-color:var(--accent)!important;background:color-mix(in srgb, var(--accent) 8%, var(--background))!important;color:var(--accent)!important}.search-results{min-height:0;padding:8px;overflow-y:auto}.search-results a{min-height:40px;color:var(--ink);border-radius:8px;gap:11px;padding:8px 10px;font-size:13px}.search-results a>svg{color:var(--muted);flex:0 0 16px}.search-results a:hover{background:color-mix(in srgb, var(--accent) 9%, var(--background));color:var(--accent)}.search-results a:hover>svg,.search-results a:hover small{color:var(--accent)}.search-results small{color:var(--muted);font-size:10px}@media (max-width:520px){.search-backdrop{padding:60px 12px 16px}.search-dialog{max-height:calc(100dvh - 76px)}}.site-header .site-nav-icons{gap:5px}.site-header .site-nav-icons a{width:32px;height:32px;color:var(--muted);border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.site-header .site-nav-icons a:after{display:none}.site-header .site-nav-icons a:hover{background:color-mix(in srgb, var(--accent) 9%, var(--background));color:var(--accent)}.site-header .site-nav-icons a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:760px){.site-header .site-nav-icons{gap:1px}.site-header .site-nav-icons a{flex-basis:28px;width:28px;height:30px}}.mobile-menu-toggle,.mobile-menu{display:none}@media (max-width:820px){.site-header{z-index:50!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:0!important;width:calc(100% - 32px)!important;padding:0!important;display:grid!important}.site-header .site-nav,.mobile-menu{display:none!important}.mobile-menu-wrap{grid-area:1/1!important;justify-self:start!important;margin-left:0!important;position:relative!important}.site-header .logo{text-align:center!important;grid-area:1/2!important;justify-self:center!important}.header-actions{grid-area:1/3!important;justify-self:end!important;align-items:center!important;gap:5px!important;margin-left:0!important;display:flex!important}.header-actions .header-theme-button{order:1}.header-actions .header-search-button{order:2}.header-actions .language-switcher{order:3}.mobile-menu-toggle{border-radius:0;align-items:center;gap:5px;min-height:24px;display:inline-flex;color:var(--muted)!important;background:0 0!important;border:0!important;padding:0!important;font-size:13px!important}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible,.mobile-menu-toggle.is-open{color:var(--accent)!important}.mobile-menu{visibility:hidden;pointer-events:none;position:absolute;top:calc(100% + 8px);z-index:100!important;width:max-content!important;min-width:140px!important;display:block!important;left:-12px!important;right:auto!important}.mobile-menu.is-open{visibility:visible;pointer-events:auto}.mobile-menu-panel{overscroll-behavior:contain;border:1px solid var(--line);opacity:0;border-radius:10px;max-height:calc(100dvh - 76px);padding:6px 4px;transition:opacity .16s,transform .16s;overflow-y:auto;transform:translateY(-6px);box-shadow:0 12px 32px #1113151f;background:var(--background)!important}.mobile-menu.is-open .mobile-menu-panel{opacity:1;transform:translateY(0)}.mobile-nav{gap:2px;display:grid}.mobile-nav a{border-radius:6px;text-align:left!important;width:100%!important;min-height:32px!important;color:var(--muted)!important;justify-content:flex-start!important;align-items:center!important;padding:0 14px 0 7px!important;font-size:13px!important;line-height:1.35!important;display:flex!important}.mobile-nav a span{text-align:left!important;width:100%!important;display:block!important}.mobile-nav a.is-active{color:var(--accent)!important}.mobile-nav a.is-active span{text-underline-offset:4px!important;text-decoration:underline!important;text-decoration-thickness:1.5px!important}.mobile-nav a:hover,.mobile-nav a:focus-visible{outline:0;background:color-mix(in srgb, var(--accent) 9%, transparent)!important;color:var(--accent)!important}}@media (prefers-reduced-motion:reduce){.mobile-menu-panel{transition:none}}@media (min-width:821px){.mobile-menu-wrap{display:none}}.loading-shell{flex-direction:column;min-height:100dvh;display:flex}.loading-page{flex:1;padding-top:48px;padding-bottom:48px}.loading-page.is-home{padding-top:0}.loading-skeleton-block{background:linear-gradient(100deg, var(--soft) 20%, color-mix(in srgb, var(--line) 65%, var(--background)) 38%, var(--soft) 56%);background-size:220% 100%;border-radius:999px;width:100%;height:12px;animation:1.35s ease-in-out infinite loading-skeleton-shimmer;display:block;overflow:hidden}@keyframes loading-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-120% 0}}.loading-hero{border-bottom:1px solid var(--line);padding:0 5px 35px}.loading-hero-heading,.loading-section-heading,.loading-detail-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.loading-name{width:56px;height:19px}.loading-status{width:94px;height:23px}.loading-role{width:min(82%,480px);height:15px;margin-top:16px}.loading-intro{gap:8px;width:min(100%,540px);margin-top:15px;display:grid}.loading-intro>span:first-child{height:14px}.loading-intro-short{width:72%;height:14px}.loading-cta{border-radius:999px;width:196px;height:40px;margin-top:20px}.loading-collection{padding-top:25px}.loading-section-title{width:130px;height:18px}.loading-section-link{width:100px;height:13px}.loading-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:18px;display:grid}.loading-card{border:1px solid var(--line);border-radius:14px;min-width:0;min-height:185px;padding:51px 20px 18px}.loading-card-title{width:78%;height:15px;margin-bottom:17px}.loading-card-copy{height:11px;margin-top:8px}.loading-card-copy-short{width:67%}.loading-card-meta{width:52%;height:9px;margin-top:18px}.loading-lower-content{gap:13px;padding:42px 2px 0;display:grid}.loading-lower-content>.loading-skeleton-block:not(.loading-section-title){width:100%;height:12px}.loading-breadcrumb{width:165px;height:12px;margin-bottom:34px}.loading-page-title{margin-bottom:19px}.loading-page-title .loading-section-title{width:185px;height:27px}.loading-toggle{width:30px;height:30px}.loading-list{gap:0;display:grid}.loading-list-card{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;gap:9px;min-height:76px;display:flex}.loading-list-card .loading-card-title{width:45%;margin:0}.loading-list-card .loading-card-copy{width:78%;margin:0}.loading-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.loading-gallery-tile{border-radius:14px;overflow:hidden}.loading-gallery-image{aspect-ratio:1;border-radius:inherit;height:auto}.loading-detail-title{width:74%;height:34px;margin:5px 0 22px}.loading-detail-lead{width:100%;height:13px;margin-bottom:8px}.loading-detail-lead-short{width:68%}.loading-detail-actions{justify-content:flex-start;margin:24px 0}.loading-detail-actions .loading-skeleton-block{width:116px;height:35px}.loading-detail-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:15px;padding:17px 0;display:grid}.loading-detail-meta>div{gap:8px;display:grid}.loading-detail-meta>div>span:first-child{width:58%;height:10px}.loading-detail-meta .loading-card-title{width:78%;height:13px;margin:0}.loading-article-copy{gap:12px;padding-top:34px;display:grid}.loading-article-copy .loading-section-title{height:20px;margin-bottom:7px}.loading-copy-line{height:12px}.loading-copy-line-short{width:73%}@media (max-width:700px){.loading-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.loading-page{padding-top:34px}.loading-card-grid,.loading-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loading-card{min-height:168px;padding:43px 15px 16px}.loading-gallery-grid{gap:9px}.loading-detail-meta{grid-template-columns:1fr;gap:12px}}@media (prefers-reduced-motion:reduce){.loading-skeleton-block{animation:none}}.scale-switcher{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 4%, transparent);border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.scale-switcher button{min-width:24px;height:24px;color:var(--muted);font-family:var(--font-site-code,"Google Sans Code"), monospace;letter-spacing:.04em;border-radius:999px;padding:0 5px;font-size:10px;font-weight:650}.scale-switcher button.is-active,.scale-switcher button:hover{background:var(--ink);color:var(--background)}.scale-switcher button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html.text-scale-xl body{font-size:19px;line-height:1.68;font-family:var(--font-site-heading,"Parkinsans"), sans-serif}html.text-scale-xl .site-header{border:1px solid var(--line);background:color-mix(in srgb, var(--background) 88%, transparent);width:calc(100% - 56px);max-width:none;height:72px;box-shadow:0 12px 34px color-mix(in srgb, var(--ink) 8%, transparent);border-top:0;border-radius:0 0 22px 22px;padding:0 2vw}html.text-scale-xl .logo{letter-spacing:-.06em;font-size:22px}html.text-scale-xl .site-nav{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 4%, transparent);border-radius:999px;gap:4px;padding:5px;font-size:15px}html.text-scale-xl .site-nav a{border-radius:999px;padding:8px 13px}html.text-scale-xl .site-nav a:after{display:none}html.text-scale-xl .site-nav a:hover,html.text-scale-xl .site-nav a:focus-visible{background:var(--ink);outline:0;color:var(--background)!important}html.text-scale-xl .header-actions{gap:12px}html.text-scale-xl .scale-switcher{padding:4px}html.text-scale-xl .scale-switcher button{min-width:34px;height:32px;font-size:12px}html.text-scale-xl .header-actions>button{min-width:36px;min-height:36px}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .app-root>div:not(.custom-context-menu)>footer.site-footer,html.text-scale-xl .app-root>div:not(.custom-context-menu)>.site-header,html.text-scale-xl .page-shell,html.text-scale-xl .page-frame,html.text-scale-xl .detail-page,html.text-scale-xl .article-page,html.text-scale-xl .site-footer,html.text-scale-xl main,html.text-scale-xl footer{width:min(1440px,100% - 56px);max-width:none!important}html.text-scale-xl main,html.text-scale-xl .page-shell,html.text-scale-xl .page-frame,html.text-scale-xl .detail-page,html.text-scale-xl .article-page{padding-top:76px}html.text-scale-xl .hero{padding:56px 0 58px}html.text-scale-xl .hero h1,html.text-scale-xl h2{font-size:clamp(24px,2vw,34px)}html.text-scale-xl .role{margin:22px 0 24px;font-size:20px}html.text-scale-xl .intro{max-width:850px;font-size:clamp(21px,2.2vw,32px);line-height:1.35}html.text-scale-xl .card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}html.text-scale-xl .work-card{border-radius:22px;min-height:260px;padding:30px}html.text-scale-xl .work-card h3{font-size:22px}html.text-scale-xl .work-card p{font-size:17px}html.text-scale-xl .section-heading{margin-top:58px}html.text-scale-xl .breadcrumb{font-size:15px}html.text-scale-xl .detail-title h1,html.text-scale-xl .article-title h1{font-size:clamp(34px,5vw,76px);line-height:1.02}html.text-scale-xl .detail-lead,html.text-scale-xl .article-lead{max-width:950px;font-size:24px;line-height:1.45}html.text-scale-xl .detail-copy,html.text-scale-xl .article-body,html.text-scale-xl .policy-content{max-width:900px;font-size:20px}html.text-scale-xl .detail-copy h2,html.text-scale-xl .article-body h2,html.text-scale-xl .policy-content h2{margin-top:58px;font-size:31px}html.text-scale-xl .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}html.text-scale-xl .page-frame.resume-frame>.resume-page.page-shell{width:100%!important;margin:0!important;padding-top:0!important}@media (max-width:820px){html.text-scale-xl .site-header{border-radius:0 0 16px 16px;width:calc(100% - 24px);height:60px;padding:0 12px}html.text-scale-xl .site-nav{display:none!important}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .app-root>div:not(.custom-context-menu)>footer.site-footer,html.text-scale-xl .page-shell,html.text-scale-xl .page-frame,html.text-scale-xl .detail-page,html.text-scale-xl .article-page{width:calc(100% - 32px)}html.text-scale-xl .card-grid,html.text-scale-xl .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}html.text-scale-xl .intro{font-size:22px}}*,:before,:after{cursor:url(/cursors/arrow.svg) 3 3,none!important}a:hover,a:hover *,button:hover,button:hover *,[role=button]:hover,[role=button]:hover *,summary:hover,summary:hover *,label:hover,label:hover *,select:hover,input[type=button]:hover,input[type=submit]:hover,input[type=reset]:hover{cursor:url(/cursors/hand.svg) 10 4,none!important}button:disabled,button:disabled *,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true],[aria-disabled=true] *{cursor:url(/cursors/not-allowed.svg) 3 3,none!important}input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not(:disabled),textarea:not(:disabled),[contenteditable=true]{cursor:url(/cursors/text.svg) 9 14,none!important}html.text-scale-xl body,html.text-scale-xl body *,html.text-scale-xl body :before,html.text-scale-xl body :after{font-optical-sizing:auto;font-style:normal;font-family:var(--font-site-heading,"Parkinsans"), sans-serif!important}html.text-scale-xl .card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}html.text-scale-xl article.work-card,html.text-scale-xl .showcase:not(.list-view) article.work-card{min-height:252px;padding:30px 28px 26px;background:color-mix(in srgb, var(--soft) 86%, var(--background))!important;box-shadow:none!important;border:0!important;border-radius:30px!important;transform:none!important}html.text-scale-xl article.work-card:hover,html.text-scale-xl .showcase:not(.list-view) article.work-card:hover{background:color-mix(in srgb, var(--soft) 96%, var(--background))!important;box-shadow:0 12px 28px color-mix(in srgb, var(--ink) 8%, transparent)!important;transform:translateY(-3px)!important}html.text-scale-xl article.work-card:before{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:var(--background);width:48px;height:48px;color:var(--ink);content:"✦";border-radius:50%;place-items:center;margin-bottom:22px;font-size:21px;display:grid}html.text-scale-xl article.work-card h3{font-family:var(--font-site-heading,"Parkinsans"), sans-serif;letter-spacing:-.045em;margin:0 0 10px;font-size:26px;font-weight:800;line-height:1.05;color:var(--ink)!important}html.text-scale-xl article.work-card p{max-width:30ch;color:var(--muted);font-family:var(--font-site-heading,"Parkinsans"), sans-serif;font-size:16px;font-weight:550;line-height:1.45}html.text-scale-xl article.work-card .arrow-ring{display:none!important}html.text-scale-xl .list-view .card-grid{grid-template-columns:1fr;gap:0}html.text-scale-xl .list-view article.work-card{min-height:0;padding:22px 0;background:0 0!important;border-radius:0!important}@media (max-width:900px){html.text-scale-xl .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){html.text-scale-xl .card-grid{grid-template-columns:1fr}html.text-scale-xl article.work-card{min-height:220px;border-radius:24px!important}}:root{--card-tint-strength:100%;--card-hover-tint-strength:90%}.dark{--card-tint-strength:22%;--card-hover-tint-strength:30%}:is(article.work-card,.loading-card,.xl-floating-nav a){--card-tint:#ffd5cc;--card-background:color-mix(in srgb, var(--card-tint) var(--card-tint-strength), var(--background));--card-background-hover:color-mix(in srgb, var(--card-tint) var(--card-hover-tint-strength), var(--background))}article.work-card[data-card-color="1"],.xl-floating-nav a[data-card-color="1"],.loading-card:nth-child(6n+2){--card-tint:#f6e5b5}article.work-card[data-card-color="2"],.xl-floating-nav a[data-card-color="2"],.loading-card:nth-child(6n+3){--card-tint:#cdeec8}article.work-card[data-card-color="3"],.xl-floating-nav a[data-card-color="3"],.loading-card:nth-child(6n+4){--card-tint:#bfe5f2}article.work-card[data-card-color="4"],.xl-floating-nav a[data-card-color="4"],.loading-card:nth-child(6n+5){--card-tint:#e2d2f7}article.work-card[data-card-color="5"],.xl-floating-nav a[data-card-color="5"],.loading-card:nth-child(6n+6){--card-tint:#bfe9db}html body article.work-card,html body .showcase article.work-card,html.text-scale-xl body article.work-card,html.text-scale-xl body .showcase article.work-card,html body .loading-card{box-shadow:none!important;border:0!important}html body article.work-card,html body .showcase:not(.list-view) article.work-card,html.text-scale-xl body article.work-card,html.text-scale-xl body .showcase:not(.list-view) article.work-card,html body .loading-card{background:var(--card-background)!important}html body article.work-card:hover,html body .showcase:not(.list-view) article.work-card:hover,html.text-scale-xl body article.work-card:hover,html.text-scale-xl body .showcase:not(.list-view) article.work-card:hover{background:var(--card-background-hover)!important;box-shadow:none!important;border:0!important}html body .showcase.list-view article.work-card,html body .dark .showcase.list-view article.work-card:hover,html.text-scale-xl body .showcase.list-view article.work-card,html.text-scale-xl body .showcase.list-view article.work-card:hover{box-shadow:none!important;background:0 0!important;border:0!important}html.text-scale-xl body article.work-card:before{box-shadow:none;background:color-mix(in srgb, var(--card-tint) 10%, var(--background));border:0}
