#contact{scroll-margin-top:96px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}.back-to-top{right:max(20px, env(safe-area-inset-right));bottom:calc(max(20px, env(safe-area-inset-bottom)) + var(--visible-footer-height,0px));z-index:1000;background:var(--ink);width:48px;height:48px;color:var(--background);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.back-to-top:hover{outline:2px solid var(--ink);outline-offset:3px}.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.app-root:has(.back-to-top) .visitor-survey-reminder.visitor-survey-icon-launcher{bottom:calc(max(20px, env(safe-area-inset-bottom)) + 60px + var(--visible-footer-height,0px))}.outline-label,.outline-chevron,.xl-edge-links{display:none}.visitor-survey-reminder.visitor-survey-icon-launcher{left:auto;right:max(20px, env(safe-area-inset-right));bottom:calc(max(20px, env(safe-area-inset-bottom)) + var(--visible-footer-height,0px));border:1px solid var(--line);background:var(--background);width:48px;min-width:48px;height:48px;color:var(--ink);box-shadow:none;border-radius:50%;grid-template-columns:1fr;place-items:center;gap:0;padding:0;display:grid;position:fixed;top:auto;transform:none}.visitor-survey-reminder.visitor-survey-icon-launcher:hover{background:var(--soft);color:var(--ink);border-color:var(--ink);box-shadow:none;transform:none}.visitor-survey-reminder.visitor-survey-icon-launcher:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.visitor-survey-icon-launcher .visitor-survey-reminder-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.collection-intro{margin-bottom:28px}.collection-intro .collection-title-row{margin-bottom:12px;display:block}.collection-description{max-width:58ch;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.legal-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 24px;margin-top:40px;padding-top:24px;display:flex}.legal-links a{color:var(--muted);align-items:center;gap:12px;font-size:12px;line-height:1.6;display:inline-flex}.legal-links a:hover,.legal-links a[aria-current=page]{color:var(--ink)}.legal-links a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}.policy-content>section{border-bottom:1px solid var(--line);padding:24px 0}.policy-content>section:last-child{border-bottom:0}.policy-content>section h2{margin-top:0}.policy-content>section p:last-child{margin-bottom:0}.section-card-region{display:flow-root;position:relative}.section-toggle-row{justify-content:center;margin-top:24px;padding:0 0 4px;display:flex}.section-toggle-row.is-floating{bottom:max(24px, env(safe-area-inset-bottom));z-index:20;pointer-events:none;position:sticky}.section-toggle-row.is-floating:not([data-ready]){visibility:hidden}.showcase .section-toggle-row .show-more{border:1px solid var(--line);background:var(--background);width:auto;min-height:44px;color:var(--ink);pointer-events:auto;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin:0;padding:12px 20px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.showcase .section-toggle-row .show-more:hover{border-color:var(--ink);background:var(--background);color:var(--ink);box-shadow:none;transform:none}.showcase .section-toggle-row .show-more,.showcase .section-toggle-row .show-more:hover{min-width:140px;min-height:48px;box-shadow:none;border-radius:999px;padding:14px 24px;font-weight:700;border:1px solid var(--ink)!important;background:var(--ink)!important;color:var(--background)!important}.showcase .section-toggle-row .show-more:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.showcase:has(.section-toggle-row){scroll-margin-top:96px}@media (max-width:560px){.section-toggle-row.is-floating{bottom:max(16px, env(safe-area-inset-bottom))}}.hero-identity{align-items:center;gap:12px;min-width:0;display:flex}.hero-portrait{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}html.text-scale-xl .hero-identity{gap:clamp(16px,2vw,28px)}html.text-scale-xl .hero-portrait{width:96px;height:96px}@media (max-width:820px){html.text-scale-xl .hero-portrait{width:64px;height:64px}}.hero-profile{flex-direction:column;flex-shrink:0;align-items:center;gap:14px;display:flex;position:relative}.hero-profile-status{--profile-status-bg:#e8f5ed;--profile-status-ink:#21613d;--profile-status-line:#c4e4cf;z-index:2;border:1px solid var(--profile-status-line);background:var(--profile-status-bg);width:max-content;color:var(--profile-status-ink);text-align:center;max-width:150px;box-shadow:0 3px 8px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:12px 12px 12px 4px;padding:7px 11px;font-size:10px;font-weight:500;line-height:1.4;display:inline-block;position:absolute;bottom:calc(100% - 8px);left:62%}.hero-profile-status:before{content:"";border-bottom:1px solid var(--profile-status-line);border-right:1px solid var(--profile-status-line);background:var(--profile-status-bg);width:6px;height:6px;position:absolute;bottom:-4px;left:10px;transform:rotate(45deg)}html.text-scale-xl .hero-profile-status{max-width:170px;padding:8px 12px;font-size:.875rem}.dark .hero-profile-status{--profile-status-bg:#19372a;--profile-status-ink:#b4e4c5;--profile-status-line:#315542}.clock-card-face{display:none}.status-widget{display:contents}.policy-page .policy-content .legal-accordion-heading{padding:0;margin:0!important}.policy-page .terms-item{background:var(--soft)}.policy-page .terms-trigger{align-items:center}.policy-page .terms-chevron{flex-shrink:0}.policy-page .terms-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:22px}html.text-scale-xl .policy-page .terms-trigger{line-height:1.4;font-size:var(--xl-text-heading)!important}html.text-scale-xl .legal-index .showcase article.policy-card{align-items:center;border:1px solid var(--line)!important;background:var(--background)!important;box-shadow:0 12px 24px color-mix(in srgb, var(--ink) 5%, transparent)!important;border-radius:32px!important;padding-bottom:28px!important}html.text-scale-xl .legal-index .showcase article.policy-card h3{text-align:center;text-wrap:balance;overflow:visible;font-size:var(--xl-text-heading)!important;font-weight:600!important;line-height:1.35!important;display:block!important}html.text-scale-xl .legal-index .showcase article.policy-card p{text-align:center;font-size:var(--xl-text-body)!important}.policy-card-art{--policy-art-color:#7561ae;--policy-art-tint:#e9e3f6;flex-shrink:0;width:200px;height:160px;margin:28px auto 0;display:block;position:relative}.policy-card-art.is-browser{--policy-art-color:#387aa3;--policy-art-tint:#dceef7}.policy-card-art.is-comment{--policy-art-color:#43835b;--policy-art-tint:#e0f1e5}.policy-art-tile{border:2px solid var(--background);color:var(--policy-art-color);background:var(--policy-art-tint);box-shadow:0 6px 12px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:22px;place-items:center;display:grid;position:absolute}.policy-art-main{width:112px;height:120px;top:12px;left:66px;transform:rotate(9deg)}.policy-art-back{background:color-mix(in srgb, var(--policy-art-tint) 60%, var(--background));width:82px;height:90px;top:48px;left:14px;transform:rotate(-12deg)}.policy-art-badge{border:2px solid var(--background);background:var(--policy-art-tint);width:40px;height:40px;color:var(--policy-art-color);box-shadow:0 4px 8px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:6px}.dark .policy-card-art{--policy-art-color:#c1adea;--policy-art-tint:#342b47}.dark .policy-card-art.is-browser{--policy-art-color:#9dc9e6;--policy-art-tint:#243b49}.dark .policy-card-art.is-comment{--policy-art-color:#a4d3b3;--policy-art-tint:#293e30}html:not(.text-scale-xl) .policy-card-art{width:72px;height:72px;margin:16px 0}html:not(.text-scale-xl) .policy-art-main{border-radius:16px;width:64px;height:64px;top:0;left:0;transform:none}html:not(.text-scale-xl) .policy-art-main svg{width:36px;height:36px}html:not(.text-scale-xl) .policy-art-back,html:not(.text-scale-xl) .policy-art-badge{display:none}html.text-scale-xl .policy-art-main svg{width:72px!important;height:72px!important}html.text-scale-xl .policy-art-back svg{width:36px!important;height:36px!important}.detail-page .detail-meta{background:var(--soft);border-radius:16px;grid-template-columns:1fr;gap:0;padding:8px 20px;display:grid;border:1px solid var(--line)!important}.detail-page .detail-meta>div{padding:14px 0}.detail-page .detail-meta>div+div{border-top:1px solid var(--line)}.detail-page .detail-meta dt{margin:0 0 6px}.detail-page .detail-meta dd{overflow-wrap:anywhere}.detail-page .related{clear:both}@media (min-width:1100px){.detail-page .detail-meta{float:right;width:260px;margin:32px 0 28px 32px}.detail-page .detail-copy,.detail-page .detail-preview{width:auto;display:flow-root}}
.xl-menu-toggle,.xl-stack-tools,.xl-card-preview,.xl-floating-header,.xl-utility-bar,.xl-sidebar-shell,.visitor-location{display:none}html.text-scale-xl{--xl-text-small:clamp(.875rem, .825rem + .25vw, 1rem);--xl-text-body:clamp(1.125rem, 1.075rem + .25vw, 1.25rem);--xl-text-heading:clamp(1.5rem, 1.4rem + .5vw, 1.75rem);--xl-text-display:clamp(2.5rem, 1.9rem + 3vw, 4rem);--xl-rail:224px;--xl-gutter:clamp(40px, 4vw, 72px);--background:#fff;--soft:#f7f7f7}html.text-scale-xl.dark,html.text-scale-xl .dark{--background:#111315;--soft:#1c1f22}html.text-scale-xl:not(.dark) .app-root>div:not(.dark){--background:#fff;--soft:#f7f7f7}html.text-scale-xl,html.text-scale-xl body,html.text-scale-xl .app-root,html.text-scale-xl .app-root>div:not(.custom-context-menu){background:var(--background)!important}html.text-scale-xl body{font-size:var(--xl-text-body)}html.text-scale-xl .site-header,html.text-scale-xl .site-footer{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-frame.page-shell{width:min(1080px, calc(100% - var(--xl-rail) - 48px - var(--xl-gutter) * 2))!important;max-width:none!important;margin-left:calc(var(--xl-rail) + 48px + max(var(--xl-gutter), (100vw - var(--xl-rail) - 48px - 1080px) / 2))!important;margin-right:var(--xl-gutter)!important;padding-top:64px!important}html.text-scale-xl main:before{content:none}html.text-scale-xl .xl-sidebar{width:var(--xl-rail);background:color-mix(in srgb, var(--soft) 80%, transparent);border:1px solid color-mix(in srgb, var(--line) 75%, transparent);max-height:calc(100dvh - 48px);box-shadow:0 16px 48px color-mix(in srgb, var(--ink) 7%, transparent);border-radius:22px;padding:20px 12px;inset:24px auto auto 24px;overflow-y:auto}html.text-scale-xl .xl-sidebar-label{font-size:var(--xl-text-small);letter-spacing:.12em;margin:0 0 16px;padding:0 12px}html.text-scale-xl .xl-sidebar nav{gap:4px}html.text-scale-xl .xl-sidebar nav a{min-height:44px;font-size:var(--xl-text-small);color:var(--muted);font-weight:600}html.text-scale-xl .xl-sidebar nav a:after{display:none}html.text-scale-xl .xl-sidebar nav a:first-child{color:var(--muted);background:0 0;font-weight:600}html.text-scale-xl .xl-sidebar nav a:hover,html.text-scale-xl .xl-sidebar nav a[aria-current=page]{background:var(--background);color:var(--ink)}html.text-scale-xl .xl-sidebar nav a{border-radius:10px;padding:10px 12px}html.text-scale-xl .xl-sidebar nav a[aria-current=page]{font-weight:700}html.text-scale-xl .xl-sidebar nav a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}html.text-scale-xl .xl-sidebar-secondary-label{border-top:1px solid var(--line);margin:20px 0 8px;padding-top:16px}html.text-scale-xl .xl-sidebar-secondary a{min-height:36px;font-size:var(--xl-text-small)}html.text-scale-xl .xl-sidebar-footer{flex-direction:column;align-items:stretch;gap:12px;display:flex}html.text-scale-xl .xl-sidebar-scale{background:var(--background);border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}html.text-scale-xl .xl-sidebar-scale button{border:0;width:100%;font-weight:600}html.text-scale-xl .xl-sidebar-scale button.is-active{border-radius:8px;background:var(--ink)!important;color:var(--background)!important}html.text-scale-xl .xl-tools{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding:18px 10px;display:flex}html.text-scale-xl .xl-tools button{width:40px;height:38px;font-size:var(--xl-text-small);background:var(--background);border-radius:10px;place-items:center;display:grid}html.text-scale-xl .xl-tools button:hover{color:var(--accent)}html.text-scale-xl .xl-sidebar-footer{font-size:var(--xl-text-small);margin:0;padding:16px 10px 0}html.text-scale-xl .hero{border:0;min-height:65vh;padding:30px 0 72px!important}html.text-scale-xl .hero-top{flex-wrap:wrap;align-items:start;gap:24px}html.text-scale-xl .hero h1{letter-spacing:-.08em;font-weight:800;line-height:1;font-size:var(--xl-text-display)!important}html.text-scale-xl .availability{border-color:var(--line);background:var(--soft);color:var(--ink);font-size:var(--xl-text-small);padding:10px 14px}html.text-scale-xl .role{color:var(--muted);font-size:var(--xl-text-small);margin:28px 0 24px;font-weight:500}html.text-scale-xl .hero .role .visitor-meta{top:20px;right:max(20px, env(safe-area-inset-right));z-index:100;background:var(--soft);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:16px;margin:0;padding:12px 16px;position:fixed;display:inline-flex!important}html.text-scale-xl .hero .role .visitor-meta .weather-tooltip,html.text-scale-xl .hero .role .visitor-meta .time-tooltip{max-width:calc(100vw - 40px);right:0;transform:none;left:auto!important}html.text-scale-xl .visitor-meta-separator{display:none}@media (max-width:560px){html.text-scale-xl .hero .role .visitor-meta{font-size:var(--xl-text-small);gap:12px;top:88px}}html.text-scale-xl .intro{max-width:none;color:var(--ink);font-size:var(--xl-text-heading);letter-spacing:-.025em;font-weight:600;line-height:1.5}html.text-scale-xl .intro br{display:none}html.text-scale-xl .hero-actions{margin-top:32px}html.text-scale-xl .cta-sprinkles{display:none!important}html.text-scale-xl .hero-actions a{font-size:var(--xl-text-small);border-radius:100px;background:var(--ink)!important;height:auto!important;color:var(--background)!important;padding:16px 24px!important}html.text-scale-xl .showcase{border-top:1px solid var(--line);padding:52px 0;margin-top:0!important}html.text-scale-xl .section-heading{align-items:baseline;gap:20px;margin-top:0}html.text-scale-xl .section-heading h2{font-size:var(--xl-text-display);letter-spacing:-.055em;font-weight:800;line-height:1.1}html.text-scale-xl #projects .section-heading h2:before{content:"01 / "}html.text-scale-xl #playground .section-heading h2:before{content:"02 / "}html.text-scale-xl #writing .section-heading h2:before{content:"03 / "}html.text-scale-xl .section-heading h2:before{font-size:var(--xl-text-small);color:var(--muted);letter-spacing:0;vertical-align:middle}html.text-scale-xl .section-heading a{font-size:var(--xl-text-small);font-weight:500}html.text-scale-xl .showcase .card-grid{columns:3;column-gap:18px;margin-top:30px;display:block!important}html.text-scale-xl .showcase article.work-card,html.text-scale-xl .showcase:not(.list-view) article.work-card{break-inside:avoid;page-break-inside:avoid;--card-padding:32px;flex-direction:column;align-items:start;margin:0 0 18px;position:relative;overflow:hidden;background:var(--card-background)!important;height:auto!important;min-height:0!important;box-shadow:none!important;border:0!important;border-radius:28px!important;padding:0!important;display:flex!important;transform:none!important}html.text-scale-xl .showcase article.work-card:before{content:none;display:none}html.text-scale-xl .showcase article.work-card>div{width:100%;display:block!important}html.text-scale-xl .showcase article.work-card>div:not(.xl-card-preview){width:100%!important;padding:var(--card-padding) var(--card-padding) 0!important;margin:0 0 12px!important}html.text-scale-xl .showcase article.work-card h3{-webkit-box-orient:vertical;max-height:none;padding-bottom:.08em;overflow:hidden;-webkit-line-clamp:2!important;line-clamp:2!important;font-size:var(--xl-text-heading)!important;color:var(--ink)!important;margin:0!important;font-weight:800!important;line-height:1.35!important;display:-webkit-box!important}html.text-scale-xl .showcase article.work-card p{-webkit-box-orient:vertical;max-height:none;-webkit-line-clamp:4!important;line-clamp:4!important;width:calc(100% - var(--card-padding) * 2)!important;max-width:none!important;font-size:var(--xl-text-body)!important;margin:0 var(--card-padding)!important;line-height:1.7!important;display:-webkit-box!important;overflow:hidden!important}html.text-scale-xl .showcase article.work-card small{color:var(--muted);display:block;margin:22px var(--card-padding) 0!important;font-size:var(--xl-text-small)!important;position:static!important}html.text-scale-xl .showcase article.work-card:hover,html.text-scale-xl .showcase:not(.list-view) article.work-card:hover{background:var(--card-background-hover)!important;box-shadow:none!important;border:0!important;outline:none!important;transform:none!important}html.text-scale-xl .showcase article.work-card:hover h3,html.text-scale-xl .showcase article.work-card:hover p,html.text-scale-xl .showcase article.work-card:hover small{color:var(--ink)!important}html.text-scale-xl .showcase article.work-card:hover h3{color:var(--accent)!important}html.dark.text-scale-xl .showcase article.work-card:hover,html.dark.text-scale-xl .showcase:not(.list-view) article.work-card:hover{background:var(--card-background-hover)!important}html.text-scale-xl .showcase article.work-card span.arrow-ring{transition:opacity .15s;width:28px!important;height:28px!important;color:var(--ink)!important;opacity:0!important;visibility:hidden!important;background:0 0!important;border:0!important;display:none!important;top:24px!important;right:24px!important}html.text-scale-xl .showcase article.work-card:focus-visible{outline-offset:4px;outline:2px solid var(--accent)!important}html.text-scale-xl .list-view .card-grid{columns:3;column-gap:18px;display:block!important}html.text-scale-xl .about{border-top:1px solid var(--line);margin-top:0;padding:56px 0}html.text-scale-xl .about>h2,html.text-scale-xl .contact>h2{font-size:var(--xl-text-display);letter-spacing:-.055em;margin-bottom:28px;font-weight:800;line-height:1.1}html.text-scale-xl .about>p{max-width:none;font-size:var(--xl-text-body);color:var(--muted);line-height:1.9}html.text-scale-xl .article-lead{max-width:none}html.text-scale-xl .stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}html.text-scale-xl .stack>div{background:var(--soft);border:0;border-radius:24px;flex-direction:column;gap:16px;padding:28px;display:flex}html.text-scale-xl .stack b{font-size:var(--xl-text-body)}html.text-scale-xl .stack span{font-size:var(--xl-text-small);line-height:1.8}html.text-scale-xl .about>.stack{display:none}html.text-scale-xl .xl-stack-tools{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}html.text-scale-xl .xl-tool-card{text-align:center;overflow-wrap:anywhere;background:var(--soft);width:100%;min-width:0;max-width:100%;color:var(--ink);font-size:var(--xl-text-small);border-radius:18px;flex-direction:column;align-items:center;gap:12px;padding:16px 20px;font-weight:600;line-height:1.4;display:inline-flex}html.text-scale-xl .xl-stack-logo{background:0 0;place-items:center;width:36px;height:36px;display:grid}html.text-scale-xl .xl-stack-logo img{object-fit:contain;width:30px;height:30px}html.text-scale-xl .showcase article.work-card .xl-card-preview{flex-shrink:0;max-width:none;width:100%!important;margin:0!important;padding:28px 0 0!important;display:block!important}html.text-scale-xl .xl-card-preview svg{border-radius:0;width:100%;height:auto;display:block}html.text-scale-xl .showcase .xl-masonry-grid{columns:auto;grid-auto-rows:auto;align-items:stretch;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))!important;display:grid!important}html.text-scale-xl .showcase .xl-masonry-grid>article.work-card{align-self:stretch;margin:0;height:100%!important}html.text-scale-xl .showcase .xl-masonry-grid>article.work-card .xl-card-preview{margin-top:auto!important}html.text-scale-xl .contact{background:#fff0ec;border-radius:32px;margin:24px 0 56px;padding:48px}html.dark.text-scale-xl .contact{background:color-mix(in srgb, var(--accent) 12%, var(--background))}html.text-scale-xl .contact .socials{color:var(--ink);flex-wrap:wrap;justify-content:flex-start;gap:20px;margin-top:32px}html.text-scale-xl .contact h2{color:var(--ink)}html.text-scale-xl .contact p{color:color-mix(in srgb, var(--ink) 78%, var(--background))}html.text-scale-xl .contact .socials a{justify-content:center;align-items:center;min-width:52px;min-height:52px;display:inline-flex;color:var(--ink)!important}html.text-scale-xl .contact .socials a:hover,html.text-scale-xl .contact .socials a:hover svg{color:var(--accent)!important}html.text-scale-xl .contact .socials a:not(.email-social){background:0 0;border:0;border-radius:50%;flex:0 0 52px;width:52px;height:52px;padding:0;transition:background-color .18s,color .18s;transform:none!important}html.text-scale-xl .contact .socials a:not(.email-social):hover,html.text-scale-xl .contact .socials a:not(.email-social):focus-visible{background:var(--ink);color:var(--background)!important;transform:none!important}html.text-scale-xl .contact .socials a:not(.email-social):hover svg,html.text-scale-xl .contact .socials a:not(.email-social):focus-visible svg{color:var(--background)!important;transform:none!important}html.text-scale-xl .contact .socials a:not(.email-social):focus-visible{outline:2px solid var(--accent);outline-offset:4px}html.text-scale-xl .contact .socials .email-social{border-color:color-mix(in srgb, var(--accent) 30%, var(--line))!important;height:52px!important;padding:0 16px!important}html.text-scale-xl .contact .socials .email-social:hover,html.text-scale-xl .contact .socials .email-social:focus-visible{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--background)!important}html.text-scale-xl .contact .socials .email-social:hover svg,html.text-scale-xl .contact .socials .email-social:hover>i,html.text-scale-xl .contact .socials .email-social:focus-visible svg,html.text-scale-xl .contact .socials .email-social:focus-visible>i{color:var(--background)!important;border-color:var(--background)!important}html.text-scale-xl .contact .socials svg{flex-shrink:0;width:28px!important;height:28px!important}html.text-scale-xl .contact .socials .email-social i svg{width:18px!important;height:18px!important}html.text-scale-xl .contact p{font-size:var(--xl-text-body);max-width:none}html.text-scale-xl .detail-title h1,html.text-scale-xl .article-title h1,html.text-scale-xl .collection-title-row h1,html.text-scale-xl .static-intro h1{overflow-wrap:anywhere;line-height:1.08;font-size:var(--xl-text-display)!important}html.text-scale-xl .page-frame.page-shell>.static-page{max-width:none!important}html.text-scale-xl .detail-copy,html.text-scale-xl .article-body{width:100%;max-width:none;font-size:var(--xl-text-body);line-height:1.9}html.text-scale-xl .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}html.text-scale-xl .gallery-image-wrap{border-radius:24px;overflow:hidden}html.text-scale-xl .site-footer{border-top:1px solid var(--line);padding-bottom:30px}html.text-scale-xl .collection-showcase{border-top:0;padding-bottom:56px}html.text-scale-xl .collection-intro{margin-bottom:40px}html.text-scale-xl .collection-title-row{display:block}html.text-scale-xl .collection-intro .collection-title-row h1{letter-spacing:-.065em;overflow-wrap:normal;font-weight:800;line-height:1.1}html.text-scale-xl .collection-description{max-width:none;font-size:var(--xl-text-body);line-height:1.7}html.text-scale-xl .collection-intro+.card-grid{margin-top:0!important}html.text-scale-xl .legal-index .showcase article.work-card{padding-bottom:var(--card-padding)!important}html.text-scale-xl .legal-index .work-card h3{font-size:var(--xl-text-heading)!important}html.text-scale-xl .legal-index .collection-title-row h1,html.text-scale-xl .policy-page .static-intro h1{letter-spacing:-.06em;overflow-wrap:normal;font-weight:800;line-height:1.15;font-size:var(--xl-text-display)!important}html.text-scale-xl .policy-page .static-intro{border-bottom:1px solid var(--line);margin-bottom:32px;padding:0 0 32px!important}html.text-scale-xl .policy-page .policy-updated{font-size:var(--xl-text-small);color:var(--muted);margin:20px 0 0;line-height:1.7}html.text-scale-xl .policy-page .policy-content,html.text-scale-xl .policy-page .article-body{counter-reset:legal-section;gap:16px;width:100%;max-width:none;margin:0;padding:0;display:grid}html.text-scale-xl .policy-content>section,html.text-scale-xl .policy-page .article-body>section{background:var(--soft);counter-increment:legal-section;border:0;border-radius:24px;padding:32px 32px 32px 82px;position:relative}html.text-scale-xl .policy-content>section:before,html.text-scale-xl .policy-page .article-body>section:before{content:counter(legal-section, decimal-leading-zero);color:var(--muted);font-size:var(--xl-text-small);font-weight:600;line-height:1.6;position:absolute;top:35px;left:30px}html.text-scale-xl .terms-accordion{counter-reset:none}html.text-scale-xl .policy-content>.terms-item{counter-increment:none;padding:0}html.text-scale-xl .policy-content>.terms-item:before{content:none}html.text-scale-xl .terms-trigger{color:var(--ink);font-size:var(--xl-text-heading);align-items:baseline;padding:28px 30px;display:flex}html.text-scale-xl .terms-heading{align-items:baseline;gap:18px}html.text-scale-xl .terms-number{color:var(--ink);font-size:var(--xl-text-small)}html.text-scale-xl .terms-title{color:var(--ink)}html.text-scale-xl .terms-chevron{width:26px;height:26px;color:color-mix(in srgb, var(--ink) 72%, transparent)}html.text-scale-xl .terms-panel{padding:0 30px 28px}html.text-scale-xl .policy-page .policy-content h2,html.text-scale-xl .policy-page .article-body h2{color:var(--ink);font-size:var(--xl-text-heading);letter-spacing:-.035em;margin:0 0 14px;font-weight:700;line-height:1.4}html.text-scale-xl .policy-page .policy-content p,html.text-scale-xl .policy-page .article-body p{color:var(--muted);font-size:var(--xl-text-body);margin:0;line-height:1.9}html.text-scale-xl .legal-links{gap:16px 28px;width:100%;max-width:none;padding-top:28px}html.text-scale-xl .legal-links a{font-size:var(--xl-text-small);font-weight:500}html.text-scale-xl .breadcrumb{color:var(--muted);font-size:var(--xl-text-small);flex-wrap:wrap;gap:8px;margin-bottom:32px;line-height:1.7;display:flex}html.text-scale-xl .breadcrumb b{color:var(--ink);font-weight:500}html.text-scale-xl .article-outline-wrap{z-index:40;width:fit-content;height:auto;margin:0 0 24px auto;display:block;position:sticky;top:24px;right:auto;transform:none}html.text-scale-xl .article-outline-wrap:after{display:none}html.text-scale-xl .article-outline-trigger{border:1px solid var(--line);background:var(--background);width:auto;height:42px;color:var(--ink);font-size:var(--xl-text-small);border-radius:12px;align-items:center;gap:20px;padding:10px 16px;font-weight:600;display:inline-flex}html.text-scale-xl .article-outline-trigger i{display:none}html.text-scale-xl .outline-label,html.text-scale-xl .outline-chevron{display:inline}html.text-scale-xl .article-outline-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px}html.text-scale-xl .article-outline{border:1px solid var(--line);background:var(--background);width:min(300px,100vw - 48px);max-height:min(420px,60dvh);box-shadow:none;border-radius:18px;gap:4px;padding:12px;top:calc(100% + 8px);overflow-y:auto;transform:none;left:auto!important;right:0!important}html.text-scale-xl .article-outline b{font-size:var(--xl-text-small);padding:10px 12px}html.text-scale-xl .article-outline a{font-size:var(--xl-text-small);border-radius:8px;padding:10px 12px;line-height:1.6;width:100%!important;text-decoration:none!important;display:block!important}html.text-scale-xl .article-outline a.active,html.text-scale-xl .article-outline a:hover{background:var(--soft);color:var(--ink)!important}html.text-scale-xl .article-outline a:after{display:none}html.text-scale-xl .detail-copy h2[id],html.text-scale-xl .article-body section[id],html.text-scale-xl .detail-preview[id]{scroll-margin-top:96px}html.text-scale-xl .related>.xl-masonry-grid{border:0;gap:18px!important;margin-top:30px!important}html.text-scale-xl .related>.section-heading{border:0;display:flex}html.text-scale-xl .xl-edge-links{writing-mode:vertical-rl;z-index:100;align-items:center;gap:24px;display:flex;position:fixed;top:50%;right:12px;transform:translateY(-50%)}html.text-scale-xl .xl-edge-links a{color:var(--muted);font-size:var(--xl-text-small);letter-spacing:.025em;white-space:nowrap;padding:6px 4px;font-weight:500}html.text-scale-xl .xl-edge-links a:hover,html.text-scale-xl .xl-edge-links a[aria-current=page]{color:var(--ink)}html.text-scale-xl .xl-edge-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}html.text-scale-xl .xl-sidebar-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}html.text-scale-xl .xl-sidebar-top .xl-sidebar-label{margin:0}html.text-scale-xl .xl-sidebar-collapse{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:8px;flex-shrink:0;place-items:center;display:grid}html.text-scale-xl .xl-sidebar-collapse:hover{background:var(--background);color:var(--ink)}html.text-scale-xl .xl-sidebar-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html.text-scale-xl .xl-sidebar-copyright{color:var(--muted);font-size:var(--xl-text-small)}@media (min-width:821px){html.text-scale-xl .xl-sidebar.is-collapsed{padding:12px 8px}html.text-scale-xl .xl-sidebar.is-collapsed .xl-sidebar-label,html.text-scale-xl .xl-sidebar.is-collapsed nav a span,html.text-scale-xl .xl-sidebar.is-collapsed .xl-sidebar-footer>span{display:none}html.text-scale-xl .xl-sidebar.is-collapsed .xl-sidebar-top{justify-content:center}html.text-scale-xl .xl-sidebar.is-collapsed nav a{justify-content:center;padding:10px}html.text-scale-xl .xl-sidebar.is-collapsed .xl-tools{flex-direction:column;align-items:center;gap:6px;margin-top:12px;padding:12px 0}html.text-scale-xl .xl-sidebar.is-collapsed .xl-sidebar-footer{padding:12px 0 0}html.text-scale-xl .xl-sidebar.is-collapsed .xl-sidebar-scale{grid-template-columns:1fr}}@media (max-width:1000px){html.text-scale-xl{--xl-rail:180px;--xl-gutter:40px}html.text-scale-xl .showcase .card-grid{columns:2}html.text-scale-xl .showcase .xl-masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html.text-scale-xl .showcase article.work-card{--card-padding:24px}}@media (max-width:820px){html.text-scale-xl .xl-sidebar-collapse{display:none}html.text-scale-xl .xl-edge-links{gap:16px;right:6px}html.text-scale-xl .xl-edge-links a{font-size:var(--xl-text-small);padding:4px 1px}html.text-scale-xl .article-outline-wrap{top:16px}html.text-scale-xl .xl-menu-toggle{z-index:1200;border:1px solid var(--line);background:var(--background);font-size:var(--xl-text-small);box-shadow:0 6px 22px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:100px;align-items:center;gap:12px;padding:12px 18px;display:flex;position:fixed;top:16px;left:16px}html.text-scale-xl .xl-sidebar{width:224px;max-height:calc(100dvh - 96px);top:72px;display:none!important}html.text-scale-xl .xl-sidebar.is-open{display:flex!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-frame.page-shell{width:calc(100% - 64px)!important;margin:0 44px 0 20px!important;padding-top:96px!important}html.text-scale-xl .hero{min-height:auto;padding:24px 0 56px!important}html.text-scale-xl .hero h1{font-size:var(--xl-text-display)!important}html.text-scale-xl .contact{padding:30px}html.text-scale-xl .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){html.text-scale-xl .policy-content>section,html.text-scale-xl .policy-page .article-body>section{padding:56px 24px 24px}html.text-scale-xl .policy-content>section:before,html.text-scale-xl .policy-page .article-body>section:before{top:24px;left:24px}html.text-scale-xl .collection-description{font-size:var(--xl-text-body)}html.text-scale-xl .card-grid,html.text-scale-xl .showcase .card-grid,html.text-scale-xl .list-view .card-grid,html.text-scale-xl .stack{grid-template-columns:1fr!important}html.text-scale-xl .xl-stack-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}html.text-scale-xl .xl-tool-card{font-size:var(--xl-text-small);padding:12px 16px}html.text-scale-xl .section-heading{flex-wrap:wrap}html.text-scale-xl .showcase .card-grid{columns:1}html.text-scale-xl .showcase .xl-masonry-grid{grid-template-columns:1fr!important}html.text-scale-xl .role{line-height:1.8}}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .page-frame.page-shell{width:min(1080px,100% - 112px)!important;margin:0 auto!important;padding-top:132px!important}html.text-scale-xl .xl-floating-header{z-index:1100;border:1px solid var(--line);background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:min(1080px,100% - 80px);box-shadow:0 8px 28px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:999px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}html.text-scale-xl .xl-floating-nav{align-items:center;gap:4px;min-width:0;display:flex}html.text-scale-xl .xl-floating-nav a{color:var(--muted);font-size:var(--xl-text-small);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:12px 10px;font-weight:600;display:flex}html.text-scale-xl .xl-floating-nav a svg{display:none}html.text-scale-xl .xl-floating-controls{flex-shrink:0;align-items:center;gap:4px;display:flex}html.text-scale-xl .xl-floating-controls button{min-width:36px;height:38px;color:var(--muted);font-size:var(--xl-text-small);border-radius:10px;place-items:center;padding:0 8px;font-weight:600;display:grid}html.text-scale-xl .xl-floating-controls button:hover{color:var(--ink);background:var(--soft)}html.text-scale-xl .xl-floating-scale{border:1px solid var(--line);border-radius:12px;margin-right:8px;padding:3px;display:flex}html.text-scale-xl .xl-floating-scale button{min-width:32px;height:30px}html.text-scale-xl .xl-floating-scale button.is-active{border-radius:8px;background:var(--ink)!important;color:var(--background)!important}html.text-scale-xl .xl-floating-menu-toggle{display:none}html.text-scale-xl .xl-floating-header,html.text-scale-xl .xl-floating-scale,html.text-scale-xl .xl-floating-header .xl-floating-nav{border:0!important}html.text-scale-xl .xl-floating-header a,html.text-scale-xl .xl-floating-header a:hover,html.text-scale-xl .xl-floating-header button{border:0!important;text-decoration:none!important}html.text-scale-xl .xl-floating-header a:after{content:none!important;display:none!important}html.text-scale-xl .xl-floating-logo{color:var(--ink);font-size:var(--xl-text-heading);letter-spacing:-.07em;flex-shrink:0;padding:0 10px;font-weight:800;line-height:1}html.text-scale-xl .xl-floating-logo span{color:var(--accent)}html.text-scale-xl .xl-floating-controls button,html.text-scale-xl .xl-floating-scale,html.text-scale-xl .xl-floating-scale button.is-active{border-radius:999px}html.text-scale-xl .xl-floating-header a:focus-visible,html.text-scale-xl .xl-floating-header button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html.text-scale-xl .article-outline-wrap{top:100px}html.text-scale-xl .detail-copy h2[id],html.text-scale-xl .article-body section[id],html.text-scale-xl .detail-preview[id],html.text-scale-xl .showcase{scroll-margin-top:160px}@media (max-width:1100px){html.text-scale-xl .xl-floating-header{width:calc(100% - 40px)}html.text-scale-xl .xl-floating-menu-toggle{height:38px;color:var(--ink);font-size:var(--xl-text-small);border-radius:999px;align-items:center;gap:10px;padding:0 12px;font-weight:600;display:flex}html.text-scale-xl .xl-floating-nav{border:1px solid var(--line);background:var(--background);border-radius:20px;max-height:calc(100dvh - 120px);padding:12px;display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto}html.text-scale-xl .xl-floating-nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}html.text-scale-xl .xl-floating-nav a{font-size:var(--xl-text-small);white-space:normal;padding:14px 12px}html.text-scale-xl .xl-floating-nav a svg{flex-shrink:0;display:block}}@media (max-width:820px){html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .page-frame.page-shell{width:calc(100% - 64px)!important;margin:0 44px 0 20px!important;padding-top:120px!important}html.text-scale-xl .xl-floating-header{top:16px}}@media (max-width:560px){html.text-scale-xl .xl-floating-header{gap:6px;padding:10px}html.text-scale-xl .xl-floating-logo{font-size:var(--xl-text-heading);padding:0 4px}html.text-scale-xl .xl-floating-menu-toggle{gap:0;width:30px;padding:0 7px;font-size:0}html.text-scale-xl .xl-floating-controls{gap:0}html.text-scale-xl .xl-floating-controls button{min-width:30px;padding:0 5px}html.text-scale-xl .xl-floating-scale{margin-right:4px;padding:2px}html.text-scale-xl .xl-floating-scale button{min-width:26px}}html.text-scale-xl .xl-floating-header{background:var(--soft);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:28px;grid-template-columns:1fr 36px;gap:8px;width:220px;max-height:calc(100dvh - 40px);padding:14px;display:grid;top:20px;left:20px;overflow-y:auto;transform:none}html.text-scale-xl .xl-floating-logo{font-size:var(--xl-text-heading);padding:0 8px}html.text-scale-xl .xl-floating-menu-toggle{width:36px;height:36px;font-size:var(--xl-text-heading);color:var(--ink);border-radius:50%;place-items:center;padding:0;line-height:1;display:grid}html.text-scale-xl .xl-floating-menu-toggle:hover{background:var(--soft)}html.text-scale-xl .xl-floating-nav,html.text-scale-xl .xl-floating-nav.is-open{background:0 0;flex-direction:column;grid-column:1/-1;align-items:stretch;gap:4px;max-height:none;padding:8px 0;display:flex;position:static;overflow:visible}html.text-scale-xl .xl-floating-nav a{font-size:var(--xl-text-small);text-transform:capitalize;padding:12px 14px}html.text-scale-xl .xl-floating-nav a:hover{color:var(--accent);background:#fff0ec}html.dark.text-scale-xl .xl-floating-nav a:hover{background:color-mix(in srgb, var(--accent) 10%, var(--background))}html.text-scale-xl .xl-floating-nav a[aria-current=page]{color:#fff!important;background:#10131a!important}html.text-scale-xl .xl-floating-nav a svg{flex-shrink:0;width:22px;height:22px;display:block}html.text-scale-xl .xl-floating-controls{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:4px}html.text-scale-xl .xl-floating-controls button{min-width:34px;padding:0 6px}html.text-scale-xl .xl-floating-scale{margin:0;padding:2px}html.text-scale-xl .xl-floating-header [hidden]{display:none!important}@media (min-width:821px){html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .page-frame.page-shell{width:min(1080px,100% - 112px)!important;margin:0 auto!important;padding-top:72px!important}html.text-scale-xl .page-frame.page-shell.resume-frame{width:min(1080px,100% - 112px)!important}html.text-scale-xl .resume-page .resume-paper{width:100%;max-width:none;margin:0 0 24px}}@media (max-width:820px){html.text-scale-xl .xl-floating-header{top:16px;left:20px}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl .page-frame.page-shell{margin:0 auto!important}}html.text-scale-xl :is(p,li,blockquote,input,textarea,select,.search-results a){font-size:var(--xl-text-body)}html.text-scale-xl :is(h1,.collection-title-row h1){overflow-wrap:anywhere;line-height:1.15;font-size:var(--xl-text-display)!important}html.text-scale-xl :is(h2,h3,h4,h5,h6,.detail-copy h2,.visitor-survey h2){font-size:var(--xl-text-heading);line-height:1.35}html.text-scale-xl :is(small,label,button,figcaption,.visitor-meta,.gallery-filter,.gallery-more,.gallery-count,.search-results small,.visitor-survey-eyebrow,.visitor-survey-intro,.visitor-survey-consent,.visitor-survey-privacy,.visitor-survey-error,.visitor-country-empty,.visitor-survey-reminder,.visitor-survey-reminder-action,.show-more){font-size:var(--xl-text-small)!important}html.text-scale-xl .visitor-survey :is(input:not([type=checkbox]),select),html.text-scale-xl .search-input input,html.text-scale-xl .visitor-country-search{font-size:var(--xl-text-body)!important}html.text-scale-xl .hero h1{letter-spacing:-.045em}html.text-scale-xl .work-card h3{font-size:var(--xl-text-heading)!important}html.text-scale-xl .stack span{font-size:var(--xl-text-body)}html.text-scale-xl .home-page .hero{min-height:auto;padding:48px 0 64px!important}html.text-scale-xl .home-page .hero-top{align-items:center;gap:20px}html.text-scale-xl .home-page .hero h1{letter-spacing:-.065em;margin:0;line-height:1.05;font-size:clamp(4.5rem,3rem + 7.5vw,7.5rem)!important}html.text-scale-xl .home-page .role{font-size:var(--xl-text-body);margin:24px 0 20px;line-height:1.6}html.text-scale-xl .home-page .intro{max-width:38ch;font-size:var(--xl-text-heading);letter-spacing:-.025em;text-wrap:pretty;font-weight:400;line-height:1.5}html.text-scale-xl .home-page .hero-actions{margin-top:28px}html.text-scale-xl .home-page .showcase{padding:48px 0}html.text-scale-xl .home-page .section-heading{flex-wrap:wrap;align-items:center;gap:16px 24px}html.text-scale-xl .home-page .section-heading h2,html.text-scale-xl .home-page .about>h2,html.text-scale-xl .home-page .contact>h2{font-size:var(--xl-text-display);letter-spacing:-.045em;text-wrap:balance;font-weight:700;line-height:1.15}html.text-scale-xl .home-page .section-heading h2{margin:0}html.text-scale-xl .home-page .section-heading h2:before{margin-right:8px}html.text-scale-xl .home-page .section-heading a{flex-shrink:0}html.text-scale-xl .home-page .showcase article.work-card{--card-padding:28px}html.text-scale-xl .home-page .showcase article.work-card h3{letter-spacing:-.025em;text-wrap:pretty;font-size:var(--xl-text-heading)!important;font-weight:700!important;line-height:1.3!important}html.text-scale-xl .home-page .showcase article.work-card p{text-wrap:pretty;font-size:var(--xl-text-body)!important;line-height:1.65!important}html.text-scale-xl .home-page .showcase article.work-card small{line-height:1.6;margin-top:18px!important}html.text-scale-xl .home-page .about>p,html.text-scale-xl .home-page .contact>p{max-width:62ch;line-height:1.75}@media (max-width:1000px) and (min-width:561px){html.text-scale-xl .home-page .showcase .xl-masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html.text-scale-xl .home-page .showcase .card-grid{columns:2}}@media (max-width:560px){html.text-scale-xl .home-page .hero{padding:24px 0 40px!important}html.text-scale-xl .home-page .hero-top{gap:16px}html.text-scale-xl .home-page .showcase{padding:36px 0}html.text-scale-xl .home-page .showcase article.work-card{--card-padding:24px}html.text-scale-xl .home-page .contact{padding:28px 24px}}html.text-scale-xl .section-heading h2,html.text-scale-xl .home-page .section-heading h2,html.text-scale-xl .home-page .about>h2,html.text-scale-xl .home-page .contact>h2{line-height:1.15;font-size:4rem!important}html.text-scale-xl :is(.work-card>small,.article-tags){display:none!important}html.text-scale-xl .home-page .intro{max-width:52ch;font-weight:400}html.text-scale-xl :is(.detail-lead,.article-lead,.collection-description){font-size:var(--xl-text-body);font-weight:400;line-height:1.75}html.text-scale-xl .hero .role .visitor-meta :is(.time-tooltip,.weather-tooltip){background:var(--ink)!important;color:var(--background)!important;border:1px solid color-mix(in srgb, var(--background) 20%, var(--ink))!important;box-shadow:0 12px 32px color-mix(in srgb, var(--ink) 24%, transparent)!important;border-radius:28px!important;width:min(380px,100vw - 40px)!important;min-width:0!important;max-width:min(380px,100vw - 40px)!important;padding:20px!important}html.text-scale-xl .hero .role .visitor-meta :is(.time-tooltip,.weather-tooltip),html.text-scale-xl .hero .role .visitor-meta :is(.time-tooltip,.weather-tooltip) *{color:var(--background)!important;font-size:18px!important;line-height:1.6!important}html.text-scale-xl .xl-utility-bar{top:20px;right:max(20px, env(safe-area-inset-right));z-index:1100;background:var(--soft);color:var(--ink);box-shadow:0 8px 28px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:999px;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;padding:8px 12px;display:flex;position:fixed}html.text-scale-xl .xl-utility-bar button{border-radius:50%;min-width:44px;height:44px;padding:0 8px}html.text-scale-xl .xl-utility-bar .xl-floating-scale button{height:40px}html.text-scale-xl .xl-utility-bar button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html.text-scale-xl :is(.xl-utility-bar,.back-to-top,.visitor-survey-icon-launcher) svg{width:24px;height:24px}html.text-scale-xl .hero-actions svg{width:22px;height:22px}html.text-scale-xl .detail-actions svg{width:24px;height:24px}html.text-scale-xl :is(.detail-title,.article-title,.collection-title-row){align-items:center;gap:20px}html.text-scale-xl .collection-back-circle{width:var(--xl-text-display);height:var(--xl-text-display);flex:0 0 var(--xl-text-display);margin:0}html.text-scale-xl .collection-back-circle svg{width:50%;height:50%}html.text-scale-xl .detail-copy{max-width:68ch}html.text-scale-xl .detail-copy :is(p,li,.detail-points span){font-size:var(--xl-text-body);font-weight:400;line-height:1.75}html.text-scale-xl .detail-copy h2{margin:48px 0 20px}html.text-scale-xl .detail-meta{gap:24px}html.text-scale-xl .detail-meta dd{font-size:var(--xl-text-body);line-height:1.6}html.text-scale-xl .detail-meta dt,html.text-scale-xl .detail-tech span{font-size:var(--xl-text-small)}html.text-scale-xl .detail-points b{font-size:var(--xl-text-body)}html.text-scale-xl .detail-actions a{font-size:var(--xl-text-body);padding:12px 18px}html.text-scale-xl .sitemap-tree{margin-top:40px}html.text-scale-xl .sitemap-tree :is(.tree-root,.tree-parent){font-size:var(--xl-text-heading);line-height:1.4}html.text-scale-xl .sitemap-tree .tree-children a{font-size:var(--xl-text-body);padding-top:8px;padding-bottom:8px;line-height:1.6}html.text-scale-xl .static-intro>p{font-size:var(--xl-text-body);font-weight:400;line-height:1.75}@media (min-width:1281px){html.text-scale-xl .app-root>div:not(.custom-context-menu)>main.home-page,html.text-scale-xl .app-root>div:not(.custom-context-menu)>main.detail-page{width:min(1080px,100% - 560px)!important;margin-left:max(280px,50vw - 540px)!important;margin-right:280px!important}html.text-scale-xl .detail-page .article-outline-wrap{width:200px;max-height:calc(100dvh - 168px);margin:0;position:fixed;top:128px;right:max(64px,50vw - 710px);overflow-y:auto}html.text-scale-xl .detail-page .article-outline-trigger{display:none}html.text-scale-xl .detail-page .article-outline{border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;gap:4px;width:100%;max-height:none;padding:0;display:grid;position:static}html.text-scale-xl .detail-page .article-outline b{letter-spacing:.08em;color:var(--muted);padding:0 16px 12px;font-weight:500;display:block}html.text-scale-xl .detail-page .article-outline a{font-size:var(--xl-text-small);overflow-wrap:anywhere;border-radius:0 10px 10px 0;padding:10px 16px;font-weight:400;line-height:1.5;transition:background-color .15s,color .15s;position:relative}html.text-scale-xl .detail-page .article-outline a.active{background:color-mix(in srgb, var(--accent) 8%, var(--background));font-weight:600}html.text-scale-xl .detail-page .article-outline a.active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:-1px}html.text-scale-xl .detail-page .article-outline a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}}@media (min-width:1281px) and (max-width:1600px){html.text-scale-xl .detail-page .related .xl-masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:1280px){html.text-scale-xl .article-outline:not(.is-open){display:none}}@media (max-width:820px){html.text-scale-xl .xl-floating-header{grid-template-columns:1fr 32px;gap:4px;width:168px;padding:10px}html.text-scale-xl .xl-floating-logo{padding:0 4px;font-size:24px}html.text-scale-xl .xl-utility-bar{gap:2px;padding:6px;top:16px}html.text-scale-xl .xl-utility-bar button{min-width:36px;height:40px;padding:0 5px}html.text-scale-xl .hero .role .visitor-meta{top:84px}}@media (max-width:480px){html.text-scale-xl .xl-utility-bar{top:80px}html.text-scale-xl .hero .role .visitor-meta{top:144px}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main.home-page{padding-top:196px!important}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main:not(.home-page),html.text-scale-xl .page-frame.page-shell{padding-top:152px!important}html.text-scale-xl .detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}html.text-scale-xl .detail-actions{flex-wrap:wrap}}html.text-scale-xl .hero .role .visitor-meta{background:0 0;border-radius:0;gap:10px;max-width:none;padding:0}html.text-scale-xl .hero .role .visitor-meta :is(.visitor-time,.weather){font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:24px;flex:0 0 156px;justify-content:center;align-items:center;gap:8px;height:48px;background:var(--soft)!important;background-image:none!important;border:0!important;width:156px!important;min-width:156px!important;max-width:156px!important;margin:0!important;padding:0 12px!important;text-decoration:none!important;display:inline-flex!important}html.text-scale-xl .hero .role .visitor-meta :is(.visitor-time,.weather):focus-visible{outline:2px solid var(--accent);outline-offset:3px}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .collection-intro{margin-bottom:40px}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase .xl-masonry-grid{gap:48px;margin-top:40px;grid-template-columns:repeat(3,minmax(0,1fr))!important}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card{--card-padding:32px}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card>div:not(.xl-card-preview){margin-bottom:18px!important}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card p{text-wrap:pretty;font-weight:400;-webkit-line-clamp:unset!important;line-clamp:unset!important;line-height:1.75!important;display:block!important}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card .xl-card-preview{padding-top:32px!important}@media (min-width:701px) and (max-width:1000px){html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase .xl-masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:700px){html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase .xl-masonry-grid{gap:24px;grid-template-columns:1fr!important}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card{--card-padding:24px}}html.text-scale-xl .xl-sidebar-shell{z-index:1100;flex-direction:column;gap:12px;width:220px;max-height:calc(100dvh - 92px);display:flex;position:fixed;top:72px;left:20px}html.text-scale-xl .xl-sidebar-shell .xl-floating-header{flex-shrink:1;width:100%;min-height:64px;max-height:calc(100dvh - 168px);position:static;overflow-y:auto;transform:none}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar{border-radius:24px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;gap:4px;width:100%;padding:8px;display:flex;position:static}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar button{min-width:40px;height:40px;padding:0 6px}html.text-scale-xl .xl-sidebar-shell .xl-floating-scale button{min-width:32px;height:36px}html.text-scale-xl .xl-floating-menu-toggle span{letter-spacing:-.08em;font-size:22px}html.text-scale-xl .hero .role .visitor-meta{top:20px}html.text-scale-xl .hero .role .visitor-meta .visitor-location{font-size:var(--xl-text-small);display:inline}@media (max-width:820px){html.text-scale-xl .xl-sidebar-shell{width:168px;top:16px}html.text-scale-xl .xl-sidebar-shell .xl-floating-header{max-height:calc(100dvh - 156px)}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar{justify-content:center}html.text-scale-xl .hero .role .visitor-meta{flex-wrap:wrap;gap:10px;max-width:calc(100vw - 224px);top:16px}html.text-scale-xl .hero .role .visitor-meta .visitor-location{flex-basis:100%}}@media (max-width:480px){html.text-scale-xl .hero .role .visitor-meta{gap:8px;padding:10px;top:16px;font-size:var(--xl-text-small)!important}html.text-scale-xl .hero .role .visitor-meta :is(.visitor-time,.weather){font-size:var(--xl-text-small)!important}html.text-scale-xl .app-root>div:not(.custom-context-menu)>main.home-page,html.text-scale-xl .app-root>div:not(.custom-context-menu)>main.detail-page{padding-top:180px!important}}html.text-scale-xl .hero .role .visitor-meta{background:0 0;max-width:none;padding:0}html.text-scale-xl .hero .role .visitor-meta :is(.visitor-time,.weather){height:44px;box-shadow:0 4px 12px color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink);border-radius:16px;background:var(--background)!important;border:1px solid var(--line)!important}html.text-scale-xl .hero .role .visitor-meta .weather{flex-basis:100px;width:100px!important;min-width:100px!important;max-width:100px!important}@media (max-width:820px){html.text-scale-xl .hero .role .visitor-meta{flex-direction:column;align-items:flex-end}html.text-scale-xl .hero .role .visitor-meta :is(.visitor-time,.weather){flex-basis:auto;width:112px!important;min-width:112px!important;max-width:112px!important;padding:0 8px!important;font-size:14px!important}html.text-scale-xl .hero .role .visitor-meta .weather{flex-basis:auto;width:88px!important;min-width:88px!important;max-width:88px!important}}html.text-scale-xl .hero .role .visitor-meta{align-items:flex-start}html.text-scale-xl .hero .role .visitor-meta .visitor-time{height:168px;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:28px;color:var(--ink)!important;padding:14px!important}html.text-scale-xl .visitor-time .clock-inline{display:none}html.text-scale-xl .visitor-time .clock-card-face{width:100%;height:100%;color:var(--ink);flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;display:flex;position:relative}html.text-scale-xl .clock-window-dots{gap:6px;display:flex;position:absolute;top:0;left:0}html.text-scale-xl .clock-window-dots i{background:#ff6868;border-radius:50%;width:8px;height:8px}html.text-scale-xl .clock-window-dots i:nth-child(2){background:#ffc54c}html.text-scale-xl .clock-window-dots i:nth-child(3){background:#39c768}html.text-scale-xl .clock-decoration{z-index:2;color:#e7b447;filter:drop-shadow(0 3px 2px color-mix(in srgb, var(--ink) 12%, transparent));position:absolute;top:0;right:-4px}html.text-scale-xl .is-night .clock-decoration{color:#89afd8}html.text-scale-xl .clock-selection{background:color-mix(in srgb, #71a6da 9%, var(--background));border:1px solid #71a6da;flex-direction:column;justify-content:center;align-items:center;width:100%;height:80px;display:flex;position:relative}html.text-scale-xl .clock-selection>i{background:var(--background);border:1px solid #71a6da;width:5px;height:5px;position:absolute}html.text-scale-xl .clock-selection>i:first-child{top:-3px;left:-3px}html.text-scale-xl .clock-selection>i:nth-child(2){top:-3px;right:-3px}html.text-scale-xl .clock-selection>i:nth-child(3){bottom:-3px;left:-3px}html.text-scale-xl .clock-selection>i:nth-child(4){bottom:-3px;right:-3px}html.text-scale-xl .clock-period{color:var(--accent);font-size:13px;font-weight:600;line-height:1.4}html.text-scale-xl .clock-digits{letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.2}html.text-scale-xl .clock-date{background:color-mix(in srgb, #a58bdd 18%, var(--background));color:var(--ink);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:500;line-height:1.5;display:block}@media (max-width:820px){html.text-scale-xl .hero .role .visitor-meta .visitor-time{border-radius:22px;height:140px;padding:10px!important}html.text-scale-xl .clock-selection{height:66px}html.text-scale-xl .clock-digits{font-size:26px}html.text-scale-xl .clock-decoration svg{width:30px;height:30px}html.text-scale-xl .clock-date{padding:2px 8px;font-size:11px}}@media (max-width:480px){html.text-scale-xl .app-root>div:not(.custom-context-menu)>main.home-page{padding-top:240px!important}}html.text-scale-xl .hero .role .visitor-meta .status-widget{border:1px solid var(--line);background:radial-gradient(ellipse at 80% 18%, #f5cb6824, transparent 65%), var(--background);width:180px;box-shadow:0 10px 28px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:28px;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}html.text-scale-xl .hero .role .visitor-meta .status-widget.is-night{background:radial-gradient(ellipse at 80% 18%, #a58bdd2e, transparent 65%), var(--background)}html.text-scale-xl .hero .role .visitor-meta .status-widget .visitor-time{height:164px;box-shadow:none;border-radius:16px;flex:none;background:0 0!important;border:0!important;width:100%!important;min-width:0!important;max-width:none!important;padding:0!important}html.text-scale-xl .status-widget .clock-card-face{gap:12px}html.text-scale-xl .status-widget .clock-decoration{top:10px;right:-2px}html.text-scale-xl .status-widget .clock-decoration svg{width:46px;height:46px}html.text-scale-xl .status-widget .clock-cloud{z-index:3;color:var(--muted);filter:drop-shadow(0 2px 2px color-mix(in srgb, var(--ink) 12%, transparent));position:absolute;top:32px;right:24px}html.text-scale-xl .status-widget .clock-star{z-index:2;color:#d8a22b;position:absolute;top:52px;left:-6px;transform:rotate(-12deg)}html.text-scale-xl .status-widget .clock-selection{background:linear-gradient(140deg, color-mix(in srgb, #71a6da 12%, var(--background)), color-mix(in srgb, #a58bdd 8%, var(--background)));border-radius:8px;height:82px}html.text-scale-xl .status-widget .clock-digits{font-size:38px}html.text-scale-xl .status-widget .clock-date{border:1px solid color-mix(in srgb, #a58bdd 24%, var(--line));padding:4px 14px}html.text-scale-xl .hero .role .visitor-meta .status-widget .weather{height:36px;box-shadow:none;border-radius:12px;flex:none;background:var(--soft)!important;border:0!important;width:100%!important;min-width:0!important;max-width:none!important;padding:0 8px!important;font-size:16px!important}html.text-scale-xl .status-widget .weather>svg{width:20px;height:20px;color:var(--muted)}@media (max-width:820px){html.text-scale-xl .hero .role .visitor-meta .status-widget{border-radius:22px;gap:8px;width:112px;padding:10px}html.text-scale-xl .hero .role .visitor-meta .status-widget .visitor-time{height:140px}html.text-scale-xl .status-widget .clock-decoration svg{width:32px;height:32px}html.text-scale-xl .status-widget .clock-cloud{top:28px;right:18px}html.text-scale-xl .status-widget .clock-cloud svg{width:22px;height:22px}html.text-scale-xl .status-widget .clock-selection{height:66px}html.text-scale-xl .status-widget .clock-digits{font-size:26px}html.text-scale-xl .status-widget .clock-date{padding:3px 8px}html.text-scale-xl .hero .role .visitor-meta .status-widget .weather{height:32px;font-size:14px!important}}html.text-scale-xl .hero .role .visitor-meta .status-widget,html.text-scale-xl .hero .role .visitor-meta .status-widget.is-night{width:156px;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:flex-end;gap:10px;padding:0;display:flex}html.text-scale-xl .status-widget .clock-card-face{display:none}html.text-scale-xl .status-widget .clock-inline{white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";flex:none;justify-content:center;line-height:1;display:block;position:static;font-family:var(--font-site-code,"Google Sans Code"), monospace!important}html.text-scale-xl .status-widget .weather-reading{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:var(--font-site-code,"Google Sans Code"), monospace!important}html.text-scale-xl .hero .role .visitor-meta .status-widget .weather{align-items:center!important}html.text-scale-xl .hero .role .visitor-meta .status-widget .weather>svg{flex-shrink:0;vertical-align:middle!important;margin:0!important;display:block!important}html.text-scale-xl .hero .role .visitor-meta .status-widget .visitor-time,html.text-scale-xl .hero .role .visitor-meta .status-widget .weather{box-shadow:0 3px 10px color-mix(in srgb, var(--ink) 4%, transparent);border-radius:999px;line-height:22px;border:1px solid color-mix(in srgb, var(--line) 75%, var(--background))!important;background:var(--soft)!important;height:48px!important;color:var(--ink)!important;padding:12px 20px!important;font-size:16px!important}html.text-scale-xl .hero .role .visitor-meta .status-widget .visitor-time{width:156px!important;min-width:156px!important;max-width:156px!important}html.text-scale-xl .hero .role .visitor-meta .status-widget .weather{width:112px!important;min-width:112px!important;max-width:112px!important}@media (max-width:820px){html.text-scale-xl .hero .role .visitor-meta .status-widget{width:112px}html.text-scale-xl .hero .role .visitor-meta .status-widget .visitor-time{width:112px!important;min-width:112px!important;max-width:112px!important;padding:12px 10px!important;font-size:14px!important}html.text-scale-xl .hero .role .visitor-meta .status-widget .weather{width:96px!important;min-width:96px!important;max-width:96px!important;padding:12px!important;font-size:14px!important}}@media (max-width:480px){html.text-scale-xl .app-root>div:not(.custom-context-menu)>main.home-page{padding-top:180px!important}}html.text-scale-xl .showcase article.work-card:not(.policy-card){align-items:center;background:var(--card-background)!important;box-shadow:none!important;border:0!important;border-radius:32px!important;padding-bottom:24px!important}html.text-scale-xl .showcase article.work-card:not(.policy-card) h3{text-align:center;font-weight:600!important}html.text-scale-xl .showcase article.work-card:not(.policy-card) p{text-align:center}.card-image-collage{flex-shrink:0;width:min(260px,100% - 32px);height:240px;margin:28px auto 0;display:block;position:relative}.collage-image{left:var(--collage-x);top:var(--collage-y);width:var(--collage-width);height:var(--collage-height);transform:translateX(-50%) rotate(var(--collage-angle));border:3px solid var(--background);box-shadow:0 6px 14px color-mix(in srgb, var(--ink) 12%, transparent);background:var(--soft);border-radius:22px;display:block;position:absolute;overflow:hidden}.collage-image img{object-fit:cover}.collage-placeholder{background:linear-gradient(155deg, color-mix(in srgb, #8dc8dc 30%, var(--background)), color-mix(in srgb, #a58bdd 25%, var(--background)));display:block;position:absolute;inset:0}.collage-image:nth-child(3n) .collage-placeholder{background:linear-gradient(155deg, color-mix(in srgb, #e9ba7c 30%, var(--background)), color-mix(in srgb, #dfa5a5 25%, var(--background)))}.collage-placeholder-sun{background:color-mix(in srgb, #f2c960 65%, var(--background));border-radius:50%;width:26px;height:26px;position:absolute;top:20px;right:16px}.collage-placeholder-mountain{background:color-mix(in srgb, #678f9e 45%, var(--background));border-radius:14px;width:100px;height:100px;position:absolute;bottom:-50px;left:-14px;transform:rotate(45deg)}.collage-placeholder-mountain:after{content:"";background:color-mix(in srgb, #8c7caa 45%, var(--background));border-radius:12px;width:80px;height:80px;position:absolute;top:-18px;left:40px}.collage-placeholder-line{background:color-mix(in srgb, var(--background) 65%, transparent);border-radius:4px;height:5px;position:absolute;bottom:12px;left:12px;right:24px}@media (prefers-reduced-motion:no-preference){.collage-image{transition:transform .2s}.work-card:hover .collage-image{transform:translate(-50%, -3px) rotate(var(--collage-angle))}}html.text-scale-xl .showcase article.work-card:has(>.browser-card-preview){overflow:hidden;padding-bottom:0!important}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card .browser-card-preview{background:var(--background);box-shadow:none;transform-origin:50%;border-radius:16px;overflow:hidden;transform:translateY(4%)rotate(5deg);border:0!important;width:calc(100% - 64px)!important;margin:12px auto -10%!important;padding:0!important;display:block!important}.browser-preview-toolbar{background:var(--soft);border:0;align-items:center;gap:12px;height:28px;padding:0 10px;display:flex}.browser-preview-dots{gap:4px;display:flex}.browser-preview-dots i{background:#ef7772;border-radius:50%;width:6px;height:6px}.browser-preview-dots i:nth-child(2){background:#e6bc5e}.browser-preview-dots i:nth-child(3){background:#75b78b}.browser-preview-address{background:var(--line);border-radius:5px;width:48%;height:8px}.browser-preview-content{aspect-ratio:16/10;position:relative;overflow:hidden}.browser-preview-content img{object-fit:cover}html.text-scale-xl .showcase article.work-card .browser-preview-content .xl-card-preview{height:100%;width:100%!important;margin:0!important;padding:0!important;display:block!important}html.text-scale-xl .showcase article.work-card .browser-preview-content svg{object-fit:cover;width:100%;height:100%}html.text-scale-xl .showcase article.work-card:hover .browser-card-preview,html.text-scale-xl .showcase article.work-card:focus-visible .browser-card-preview{transform:translateY(-35%)rotate(0)}@media (prefers-reduced-motion:no-preference){.browser-card-preview{transition:transform .38s cubic-bezier(.22,1,.36,1)}}@media (hover:none){html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card .browser-card-preview{transform:none;margin-bottom:16px!important}}@media (max-width:700px){html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card .browser-card-preview{width:calc(100% - 48px)!important}}html.text-scale-xl .detail-page .detail-meta{grid-template-columns:1fr;gap:0}@media (min-width:1100px){html.text-scale-xl .detail-page .detail-copy{width:auto}}.detail-page .detail-info-rail{margin:28px 0}.detail-page .detail-info-rail .detail-meta{float:none;width:100%;margin:16px 0 0}.detail-page .detail-copy,.detail-page .detail-preview{width:100%}html.text-scale-xl .detail-page .detail-info-rail .article-outline-wrap{width:100%;max-height:none;margin:0;position:relative;top:auto;right:auto;overflow:visible}@media (min-width:1281px){html.text-scale-xl .detail-page{position:relative}html.text-scale-xl .detail-page .detail-info-rail{width:200px;margin:0;position:absolute;top:128px;bottom:0;left:calc(100% + 24px)}html.text-scale-xl .detail-page .detail-info-rail .article-outline-wrap{position:static}html.text-scale-xl .detail-page .detail-info-rail .detail-meta{margin-top:24px;padding:4px 16px}html.text-scale-xl .detail-page .detail-info-rail .detail-meta dd{font-size:16px}html.text-scale-xl .detail-page .detail-info-rail .detail-meta dt{font-size:12px}html.text-scale-xl .detail-page .detail-copy{width:100%}}.detail-info-rail-inner{gap:20px;display:grid}.detail-page .detail-info-rail .is-collapsible .article-outline-trigger,.detail-page .detail-info-rail .detail-infobox>summary{width:100%;height:auto;min-height:48px;color:var(--muted);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;list-style:none;display:flex}.detail-infobox>summary::-webkit-details-marker{display:none}.detail-infobox>summary .outline-chevron:before{content:"+"}.detail-infobox[open]>summary .outline-chevron:before{content:"−"}.detail-page .detail-info-rail .is-collapsible .article-outline-trigger i,.detail-page .detail-info-rail .is-collapsible .article-outline>b{display:none}.detail-page .detail-info-rail .is-collapsible .article-outline{width:100%;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:grid;position:static}.detail-infobox>summary:focus-visible,.detail-info-rail .article-outline-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.detail-page .detail-info-rail .is-collapsible,.detail-page .detail-info-rail .detail-infobox{border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;overflow:visible}html.text-scale-xl .detail-page .detail-info-rail .is-collapsible .article-outline-trigger{display:flex}.detail-page .detail-info-rail .outline-label,.detail-page .detail-info-rail .outline-chevron{display:inline}html.text-scale-xl .detail-page .detail-info-rail .is-collapsible .article-outline>b{display:none}.detail-page .detail-info-rail .is-collapsible .article-outline a{border-radius:0 10px 10px 0;padding:10px 16px}.detail-page .detail-info-rail .is-collapsible .article-outline a.active:before{display:block}html.text-scale-xl .detail-page .detail-info-rail .detail-meta,.detail-page .detail-info-rail .detail-meta{background:0 0;border:0;border-radius:0;margin:0;padding:0 16px 4px}.detail-page .detail-info-rail .detail-infobox .detail-meta{box-shadow:none;border:0!important}.detail-page .detail-info-rail .detail-meta>div:first-child{border-top:0}html.text-scale-xl .detail-page .detail-info-rail .is-collapsible .article-outline a,html.text-scale-xl .detail-page .detail-info-rail .detail-meta dd{letter-spacing:0;text-transform:none;font-size:16px;font-weight:400;line-height:1.5}html.text-scale-xl .detail-page .detail-info-rail .is-collapsible .article-outline a.active{font-weight:600}html.text-scale-xl .detail-page .detail-info-rail .is-collapsible .article-outline-trigger,html.text-scale-xl .detail-page .detail-info-rail .detail-infobox>summary,html.text-scale-xl .detail-page .detail-info-rail .detail-meta dt{letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:500;line-height:1.5}html.text-scale-xl .detail-page .detail-info-rail .outline-label,html.text-scale-xl .detail-page .detail-info-rail .outline-chevron{font-optical-sizing:none;font-variation-settings:normal;letter-spacing:.08em;color:var(--muted);font-size:14px;font-style:normal;font-weight:500;line-height:1.5;font-family:var(--font-site-heading,"Parkinsans"), sans-serif!important}@media (min-width:1281px){html.text-scale-xl .detail-page .detail-info-rail-inner{width:200px;max-height:calc(100dvh - 148px - var(--visible-footer-height,0px));scrollbar-width:thin;position:fixed;top:128px;overflow-y:auto}}html.text-scale-xl .showcase.writing-list .card-grid{columns:auto;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))!important;display:grid!important}html.text-scale-xl .showcase.writing-list article.work-card.writing-card{align-items:stretch;margin:0;min-height:0!important;padding:24px!important}html.text-scale-xl .showcase.writing-list article.work-card.writing-card>.work-card-heading{margin:0 0 10px!important;padding:0!important}html.text-scale-xl .showcase.writing-list article.work-card.writing-card h3{text-align:left}html.text-scale-xl .showcase.writing-list article.work-card.writing-card p{text-align:left;-webkit-box-orient:vertical;-webkit-line-clamp:2!important;line-clamp:2!important;width:100%!important;margin:0!important;display:-webkit-box!important;overflow:hidden!important}@media (max-width:700px){html.text-scale-xl .showcase.writing-list .card-grid{grid-template-columns:minmax(0,1fr)!important}}html.text-scale-xl :is(.home-page,.collection-page,.detail-page) .showcase article.work-card:has(>.browser-card-preview)>p{-webkit-box-orient:vertical;flex-shrink:0;height:3em;min-height:3em;-webkit-line-clamp:2!important;line-clamp:2!important;font-size:clamp(16px,1.4vw,18px)!important;line-height:1.5!important;display:-webkit-box!important;overflow:hidden!important}
.xl-brand-short{display:none}html .custom-context-menu{z-index:2000;width:max-content;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);box-shadow:none;background:0 0;border:0;border-radius:0;justify-items:start;gap:10px;padding:0;overflow-y:auto}html .custom-context-menu button{max-width:100%;min-height:48px;font-family:var(--font-site-heading,"Parkinsans"), sans-serif;border:0;gap:12px;padding:12px 17px;font-weight:600;line-height:1.5;background:var(--soft)!important;width:fit-content!important;color:var(--ink)!important;border-radius:999px!important;font-size:14px!important}html .custom-context-menu button span{font-weight:600;color:inherit!important}html .custom-context-menu button svg{flex-shrink:0;width:20px;height:20px}html .custom-context-menu button:nth-of-type(6n+1){--menu-tint:#cdeec8}html .custom-context-menu button:nth-of-type(6n+2){--menu-tint:#e2d2f7}html .custom-context-menu button:nth-of-type(6n+3){--menu-tint:#f6e5b5}html .custom-context-menu button:nth-of-type(6n+4){--menu-tint:#bfe5f2}html .custom-context-menu button:nth-of-type(6n+5){--menu-tint:#ffd5cc}html .custom-context-menu button:nth-of-type(6n){--menu-tint:#bfe9db}html .custom-context-menu button:not(:disabled):hover,html .custom-context-menu button:not(:disabled):focus-visible{background:color-mix(in srgb, var(--menu-tint) 45%, var(--background))!important;color:var(--ink)!important}html.dark .custom-context-menu button:not(:disabled):hover,html.dark .custom-context-menu button:not(:disabled):focus-visible{background:color-mix(in srgb, var(--menu-tint) 18%, var(--background))!important}html .custom-context-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}html .custom-context-menu button:disabled:hover{background:var(--soft)!important}html .custom-context-menu .context-divider{background:0 0;height:0;margin:0}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar{display:none!important}html .menubar-status-panel{background:color-mix(in srgb, #bfe5f2 45%, var(--background));width:min(340px,100vw - 24px);color:var(--ink);border:0;border-radius:28px;padding:26px;position:absolute;top:calc(100% + 12px);right:12px}html .menubar-status-panel.is-clock{background:color-mix(in srgb, #bfe9db 45%, var(--background))}html.dark .menubar-status-panel{background:color-mix(in srgb, #bfe5f2 18%, var(--background))}html.dark .menubar-status-panel.is-clock{background:color-mix(in srgb, #bfe9db 18%, var(--background))}html .site-status-bar .menubar-status-panel *{font-family:var(--font-site-heading,"Parkinsans"), sans-serif;border-bottom:0!important;text-decoration:none!important}html .menubar-status-panel :is(.visitor-meta,.status-widget){width:100%;transform:none;display:block!important;position:static!important}html .menubar-status-panel.is-clock .weather,html .menubar-status-panel.is-weather .visitor-time{display:none!important}html .menubar-status-panel :is(.visitor-time,.weather){color:var(--ink);box-shadow:none;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:14px;width:100%!important;height:auto!important;padding:0!important;display:flex!important;position:static!important}html .menubar-status-panel .clock-card-face{display:none!important}html .site-status-bar .menubar-status-panel :is(.clock-inline,.weather-reading){text-align:left;color:var(--ink);font-weight:700;line-height:1.4;font-size:32px!important;display:block!important}html .menubar-status-panel .weather-tooltip{width:100%;min-width:0;color:var(--ink);pointer-events:auto;box-shadow:none;background:0 0;border:0;flex-direction:column;padding:0;opacity:1!important;visibility:visible!important;display:flex!important;position:static!important;transform:none!important}html .menubar-status-panel .weather-tooltip:before,html .menubar-status-panel .weather-tooltip:after{display:none}html .site-status-bar .menubar-status-panel .weather-tooltip{text-align:left;gap:12px}html .site-status-bar .menubar-status-panel .weather-tooltip :is(span,b,small,a){line-height:1.6;font-size:13px!important}html .site-status-bar .menubar-status-panel .weather-tooltip-location{color:var(--ink);margin-bottom:4px;font-weight:700;font-size:15px!important}html .site-status-bar .menubar-status-panel .weather-tooltip>span{color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;display:flex}html .site-status-bar .menubar-status-panel .weather-tooltip b{max-width:62%;color:var(--ink);overflow-wrap:anywhere;font-weight:600}html .site-status-bar .menubar-status-panel .weather-tooltip-source{flex-wrap:wrap;justify-content:flex-start;gap:6px 10px;padding-top:8px}.site-status-bar{z-index:1200;height:36px;padding:0 max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--background) 88%, transparent);color:var(--ink);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;inset:0 0 auto}html footer.site-status-bar.site-bottom-bar{border-top:1px solid var(--line);border-bottom:0;flex-wrap:nowrap;flex-shrink:0;align-self:stretch;width:100%;max-width:none;margin:auto 0 0;position:relative;inset:auto}.site-bottom-copyright{white-space:nowrap;margin-left:auto}.site-status-brand,.site-status-items,.site-status-items time{align-items:center;gap:16px;display:flex}html .site-status-bar :is(a,button,span,time){letter-spacing:0;font-family:inherit;line-height:1;font-size:12px!important}.site-status-brand>a{color:var(--ink);font-weight:800}.site-status-brand>a>span{color:var(--accent)}.site-status-caption{color:var(--muted)}.site-status-items{gap:12px}html .site-status-bar .site-status-weather{white-space:nowrap;align-items:center;gap:8px;padding:0 8px;display:inline-flex}.site-status-items button{min-width:28px;height:28px;color:var(--ink);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 8px;display:inline-flex}.site-status-items button:hover{background:var(--soft)}.site-status-bar :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-status-items .language-flag{border-radius:3px;width:18px;height:12px}.site-status-items time{white-space:nowrap;font-variant-numeric:tabular-nums;gap:12px;padding-left:12px}.site-status-date-label{flex-shrink:0;display:inline-grid}.site-status-date-label>span{grid-area:1/1}.site-status-date-label>.is-reserved{visibility:hidden}@media (max-width:700px){.site-status-bar{padding-inline:12px}.site-status-caption,.site-status-date{display:none}.site-status-items{gap:4px}.site-status-items time{gap:7px;padding-left:4px}.site-status-items button{padding-inline:4px}html .site-status-bar .site-status-weather{gap:6px;padding-inline:4px}}html.text-scale-xl .home-page .hero .intro{width:100%!important;max-width:none!important}html.text-scale-xl .home-page .hero .intro br.desktop{display:none}html.text-scale-xl .home-page .hero .hero-actions>a,html.text-scale-xl .home-page .hero .hero-actions>a:hover{border:1px solid var(--ink)!important;background:var(--ink)!important;height:auto!important;min-height:48px!important;color:var(--background)!important;box-shadow:none!important;border-radius:999px!important;gap:10px!important;padding:14px 24px!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;transform:none!important}html.text-scale-xl .home-page #about .xl-stack-tools{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:24px 20px;margin-top:28px}html.text-scale-xl .home-page #about .xl-tool-card{color:var(--ink);overflow-wrap:normal;background:0 0;border:0;border-radius:0;gap:14px;padding:18px 8px;font-size:15px;font-weight:550;line-height:1.5}html.text-scale-xl .home-page #about .xl-stack-logo{width:48px;height:48px}html.text-scale-xl .home-page #about .xl-stack-logo img{width:40px;height:40px}@media (max-width:700px){html.text-scale-xl .home-page #about .xl-stack-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}}html .home-page #about>h2:first-child{margin-bottom:32px}html.text-scale-xl .home-page #about>p:first-of-type{max-width:none;color:var(--ink);margin:0 0 24px;font-size:clamp(22px,2.2vw,28px);font-weight:550;line-height:1.65}html.text-scale-xl .home-page #about>p:nth-of-type(2){max-width:none;margin:0 0 32px;font-size:18px;line-height:1.8}html .home-page #about>.resume-link{background:var(--soft);border-radius:24px;justify-content:space-between;align-items:center;gap:24px;max-width:none;padding:24px 28px;font-size:16px;line-height:1.65;display:flex;color:var(--muted)!important;margin:32px 0 48px!important}html .home-page #about .resume-link a{border:1px solid var(--ink);background:var(--ink);min-height:48px;color:var(--background);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:10px;margin:0;padding:14px 24px;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}html .home-page #about .resume-link a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}html.text-scale-xl .home-page #about>.stack-title{letter-spacing:-.035em;margin:0 0 24px;font-size:clamp(26px,3vw,36px)!important}@media (max-width:700px){html .home-page #about>.resume-link{flex-direction:column;align-items:flex-start;gap:18px;padding:22px}}html article.work-card .work-card-heading,html.text-scale-xl .showcase article.work-card .work-card-heading{min-width:0;max-width:100%}html article.work-card .work-card-heading h3,html.text-scale-xl .showcase article.work-card .work-card-heading h3{text-overflow:ellipsis;white-space:nowrap!important;-webkit-line-clamp:1!important;line-clamp:1!important;min-width:0!important;max-width:100%!important;display:block!important;overflow:hidden!important}html :is(.show-more,.hero-actions>a,.detail-actions>a,.article-actions>button,.copy-link-button,.snippet-copy,.visitor-survey-submit,.visitor-survey-skip){justify-content:center;align-items:center;gap:10px;font-family:inherit;line-height:1.4;text-decoration:none;display:inline-flex;border:1px solid var(--ink)!important;background:var(--ink)!important;min-height:48px!important;color:var(--background)!important;box-shadow:none!important;border-radius:999px!important;padding:14px 24px!important;font-weight:700!important;transform:none!important}html :is(.show-more,.hero-actions>a,.detail-actions>a,.article-actions>button,.copy-link-button,.snippet-copy,.visitor-survey-submit,.visitor-survey-skip):hover{border-color:var(--ink)!important;background:var(--ink)!important;color:var(--background)!important;box-shadow:none!important;transform:none!important}html :is(.show-more,.hero-actions>a,.detail-actions>a,.article-actions>button,.copy-link-button,.snippet-copy,.visitor-survey-submit,.visitor-survey-skip):focus-visible{outline:2px solid var(--accent);outline-offset:4px}html :is(.show-more,.article-actions>button,.copy-link-button,.snippet-copy,.visitor-survey-submit,.visitor-survey-skip):disabled{opacity:.5;cursor:not-allowed}html .hero-actions>a:before,html .hero-actions .cta-sprinkles{display:none!important}.home-writing-titles{gap:8px;margin:0;padding:clamp(28px,3vw,40px) 0 0;list-style:none;display:grid}.home-writing-titles a{color:var(--ink);padding:10px 0;font-size:clamp(18px,1.6vw,22px);font-weight:600;line-height:1.5;text-decoration:none;display:inline-block}.home-writing-titles a:hover{text-underline-offset:5px;text-decoration:underline}.home-writing-titles a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}html.text-scale-xl .xl-edge-links{--edge-rail-width:64px;width:var(--edge-rail-width);border-left:1px solid var(--line);justify-content:center;height:100dvh;top:0;right:0;transform:none}html.text-scale-xl .hero .role .visitor-meta{right:calc(64px + max(16px, env(safe-area-inset-right)))}@media (max-width:820px){html.text-scale-xl .xl-edge-links{--edge-rail-width:40px}html.text-scale-xl .hero .role .visitor-meta{right:calc(40px + max(12px, env(safe-area-inset-right)))}}html.text-scale-xl{--edge-action-size:48px;--edge-action-right:8px}html.text-scale-xl .back-to-top,html.text-scale-xl .visitor-survey-reminder.visitor-survey-icon-launcher{right:var(--edge-action-right);width:var(--edge-action-size);min-width:var(--edge-action-size);height:var(--edge-action-size);background:var(--background);color:var(--muted);border:0}html.text-scale-xl .back-to-top:hover,html.text-scale-xl .visitor-survey-reminder.visitor-survey-icon-launcher:hover{background:var(--soft);color:var(--ink);outline:none}html.text-scale-xl .app-root:has(.back-to-top) .visitor-survey-reminder.visitor-survey-icon-launcher{bottom:calc(max(20px, env(safe-area-inset-bottom)) + var(--edge-action-size) + 12px + var(--visible-footer-height,0px))}@media (max-width:820px){html.text-scale-xl{--edge-action-size:32px;--edge-action-right:4px}html.text-scale-xl :is(.back-to-top,.visitor-survey-icon-launcher) svg{width:20px;height:20px}}.xl-sidebar-brand{justify-content:space-between;align-items:center;width:100%;min-height:36px;display:flex}html.text-scale-xl .xl-sidebar-brand .xl-floating-menu-toggle{flex-shrink:0;place-items:center;display:grid}html.text-scale-xl .xl-sidebar-brand .xl-floating-menu-toggle svg{width:22px;height:22px}html.text-scale-xl .xl-floating-logo .xl-brand-full,html.text-scale-xl .xl-floating-logo .xl-brand-short{color:var(--ink)}html.text-scale-xl .xl-sidebar-shell>.xl-floating-menu-toggle{flex-shrink:0;align-self:flex-end;place-items:center;display:grid}.page-aligned{--page-header-gap:32px;--page-content-gap:40px}.detail-pagination{border-top:1px solid var(--line);align-items:center;gap:24px;margin-top:48px;padding:24px 0;display:flex}.detail-pagination a{color:var(--muted);align-items:center;gap:10px;font-size:16px;font-weight:400;display:inline-flex}.detail-pagination-next{margin-left:auto}.detail-pagination a:hover{color:var(--ink)}.detail-pagination a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media (min-width:1281px){html.text-scale-xl .detail-page.page-aligned:has(.detail-info-rail):after{content:"";background:var(--line);pointer-events:none;width:1px;position:fixed;top:0;bottom:0;left:calc(max(280px,50vw - 540px) + min(1080px,100vw - 560px) + 12px)}html.text-scale-xl .xl-sidebar-shell{--sidebar-inline-padding:12px;width:calc(max(280px,50vw - 540px) - 40px);height:100dvh;max-height:none;padding:60px var(--sidebar-inline-padding) 24px;background:var(--soft);border-right:1px solid var(--line);gap:24px;inset:0 auto 0 0}html.text-scale-xl .xl-sidebar-shell .xl-floating-header{min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;grid-template-columns:1fr;align-content:start;padding:12px 0}html.text-scale-xl .xl-sidebar-shell .xl-floating-logo{line-height:36px}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar{background:var(--background);border:1px solid var(--line);box-shadow:none;border-radius:28px;justify-content:center;gap:6px;margin-top:auto;padding:8px}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar .xl-floating-menu-toggle{width:36px;min-width:36px;height:36px;color:var(--muted);display:grid}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar>button{border-radius:999px;width:36px;min-width:36px;height:36px;padding:0}html.text-scale-xl .xl-sidebar-shell .xl-floating-scale{gap:2px;padding:0}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a{white-space:normal;border-radius:999px;gap:12px;min-width:0;min-height:48px;padding:12px 17px;line-height:24px}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav{gap:6px;padding-left:8px;padding-right:8px}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a span{overflow-wrap:anywhere;min-width:0}html.text-scale-xl .xl-sidebar-shell.is-collapsed{width:97px}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-header{grid-template-columns:1fr;justify-items:center}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-nav a span{display:none}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-logo{text-align:center;padding:0;line-height:36px;display:block}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-brand-full{display:none}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-brand-short{display:inline}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-sidebar-brand{justify-content:center;width:48px;height:36px;min-height:36px;position:relative}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-sidebar-brand .xl-floating-menu-toggle{opacity:0;background:0 0;width:100%;height:36px;position:absolute;inset:0}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-sidebar-brand:is(:hover,:has(button:focus-visible)) .xl-floating-logo{opacity:0}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-sidebar-brand:is(:hover,:has(button:focus-visible)) .xl-floating-menu-toggle{opacity:1}html.text-scale-xl .xl-sidebar-shell.is-collapsed>.xl-floating-menu-toggle{align-self:center}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-nav{grid-column:1;width:100%}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-menu-toggle{width:48px;height:36px}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-nav{align-items:flex-start;gap:6px;padding-left:8px;padding-right:8px}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a svg{flex:0 0 22px;width:22px;height:22px}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-nav a{border-radius:999px;justify-content:flex-start;width:56px;height:auto;min-height:48px;padding:12px 17px}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-utility-bar{border-radius:999px;flex-direction:column;align-items:center;gap:6px;padding:8px 0}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-utility-bar>button{border-radius:999px;width:40px;height:40px;padding:0}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-scale{border-bottom:1px solid var(--line);border-radius:0;flex-direction:column;gap:4px;margin:0 0 2px;padding:0 0 8px}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-scale button{border-radius:999px;width:36px;height:36px;padding:0}}html.text-scale-xl .app-root>div:not(.custom-context-menu)>.page-aligned,html.text-scale-xl .page-frame.page-shell.page-aligned{width:min(1080px,100% - 560px)!important;max-width:none!important;margin:0 280px 0 max(280px,50vw - 540px)!important;padding:72px 0 0!important}html.text-scale-xl .page-aligned>.breadcrumb{width:100%;margin:0 0 var(--page-header-gap);padding:0}html.text-scale-xl .page-aligned :is(.collection-title-row,.detail-title,.article-title){margin:0 0 20px;padding:0}html.text-scale-xl .page-aligned :is(.collection-title-row,.detail-title,.article-title,.static-intro) h1{letter-spacing:-.06em;overflow-wrap:anywhere;margin:0;font-weight:800;line-height:1.15;font-size:var(--xl-text-display)!important}html.text-scale-xl .page-aligned .collection-intro{margin:0 0 var(--page-content-gap);padding:0}html.text-scale-xl .page-aligned .collection-intro .collection-title-row:last-child{margin-bottom:0}html.text-scale-xl .page-aligned .static-intro{margin:0 0 var(--page-content-gap);padding:0 0 24px!important}html.text-scale-xl .page-aligned .static-intro>p{margin:20px 0 0}html.text-scale-xl .page-aligned .collection-showcase{margin-top:0;padding-top:0!important}html.text-scale-xl .page-aligned .gallery-detail-media{margin-top:var(--page-content-gap)}html.text-scale-xl .page-aligned.resume-frame>.breadcrumb{width:100%;margin-left:0;margin-right:0}html.text-scale-xl .page-aligned.article-page{position:relative}html.text-scale-xl .page-aligned .static-intro .collection-title-row{margin-bottom:0}@media (min-width:1281px){html.text-scale-xl .page-aligned.article-page>.article-outline-wrap{width:200px;margin:0;position:absolute;top:128px;left:calc(100% + 24px);right:auto}}@media (max-width:1280px){html.text-scale-xl .app-root>div:not(.custom-context-menu)>.page-aligned,html.text-scale-xl .page-frame.page-shell.page-aligned{width:min(1080px,100% - 112px)!important;margin:0 auto!important;padding-top:152px!important}}@media (max-width:820px){html.text-scale-xl .app-root>div:not(.custom-context-menu)>.page-aligned,html.text-scale-xl .page-frame.page-shell.page-aligned{width:calc(100% - 64px)!important;margin:0 44px 0 20px!important;padding-top:152px!important}html.text-scale-xl .app-root>div:not(.custom-context-menu)>.page-aligned:is(.home-page,.is-home){padding-top:180px!important}}html.text-scale-xl .xl-sidebar-shell{background:0 0;border:0;gap:18px;height:auto;max-height:calc(100dvh - 48px);padding:0;inset:50% auto auto 24px;transform:translateY(-50%)}html.text-scale-xl .xl-sidebar-shell .xl-floating-header{min-height:0;box-shadow:none;background:0 0;border:0;flex:0 auto;gap:14px;padding:0}html.text-scale-xl .xl-sidebar-shell .xl-sidebar-brand{background:var(--soft);border-radius:999px;padding:10px 12px}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav{align-items:flex-start;gap:10px;padding:0}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a{background:var(--soft);width:fit-content;max-width:100%;color:var(--ink);border:0;border-radius:999px;align-self:flex-start;padding:12px 17px;transition:background-color .2s,color .2s}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a[aria-current=page]{text-underline-offset:5px;font-weight:700;text-decoration:underline;background:var(--soft)!important;color:var(--ink)!important}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a:is(:hover,:focus-visible){background:color-mix(in srgb, var(--card-tint) 45%, var(--background))!important;color:var(--ink)!important}html.dark.text-scale-xl .xl-sidebar-shell .xl-floating-nav a:is(:hover,:focus-visible){background:color-mix(in srgb, var(--card-tint) 18%, var(--background))!important}html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar{width:fit-content;max-width:100%;box-shadow:none;border:0;margin-top:0}@media (min-width:1281px){html.text-scale-xl .xl-sidebar-shell{width:224px}html.text-scale-xl .xl-sidebar-shell.is-collapsed{width:76px}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-sidebar-brand{width:56px;height:56px;padding:10px 0}html.text-scale-xl .xl-sidebar-shell.is-collapsed .xl-floating-nav{padding:0}}@media (max-width:820px){html.text-scale-xl .xl-sidebar-shell{max-height:calc(100dvh - 32px);inset:50% auto auto 16px}}@media (prefers-reduced-motion:reduce){html.text-scale-xl .xl-sidebar-shell .xl-floating-nav a{transition:none}}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar{background:0 0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px;padding:0}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar>button.xl-tool-pill{background:var(--soft);width:fit-content;max-width:100%;height:auto;min-height:44px;color:var(--muted);font-size:var(--xl-text-small);text-align:left;border:0;border-radius:999px;justify-content:flex-start;align-items:center;gap:10px;padding:10px 16px;line-height:1.4;transition:background-color .2s,color .2s;display:inline-flex}html.text-scale-xl .xl-sidebar-shell .xl-tool-pill svg{flex:0 0 18px;width:18px;height:18px}html.text-scale-xl .xl-sidebar-shell .xl-tool-symbol{font-size:11px;font-weight:700}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar>button.xl-tool-pill:is(:hover,:focus-visible){background:color-mix(in srgb, var(--accent) 24%, var(--background));color:var(--ink)}html.text-scale-xl .xl-sidebar-shell .xl-tool-pill:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html.text-scale-xl .xl-sidebar-shell .xl-floating-header{max-height:calc(100dvh - 240px)}@media (min-width:821px){html.text-scale-xl .xl-sidebar-shell .xl-sidebar-brand{width:fit-content}html.text-scale-xl .xl-sidebar-shell .xl-floating-menu-toggle{display:none}}@media (prefers-reduced-motion:reduce){html.text-scale-xl .xl-sidebar-shell .xl-utility-bar>button.xl-tool-pill{transition:none}}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar{width:196px;max-width:100%}html.text-scale-xl .xl-sidebar-shell .xl-utility-bar>button.xl-tool-pill{flex-shrink:0;width:100%;height:48px;min-height:48px;font-size:14px}html.text-scale-xl .xl-sidebar-shell .xl-tool-pill>span{min-width:0}html.text-scale-xl .xl-sidebar-shell .xl-tool-pill .language-flag{background-size:cover;border-radius:5px;flex:0 0 22px;width:22px;height:15px;overflow:hidden}@media (min-width:1281px){html.text-scale-xl .xl-sidebar-shell:after{content:"";background:var(--line);pointer-events:none;width:1px;height:100dvh;position:fixed;top:calc(50% - 50dvh);left:calc(max(280px,50vw - 540px) - 64px)}}
.site-search-backdrop{z-index:10000;background:color-mix(in srgb, var(--ink) 20%, transparent);-webkit-backdrop-filter:blur(9px);justify-content:center;align-items:center;padding:24px;animation:.14s ease-out both site-search-fade-in;display:flex;position:fixed;inset:0}.site-search-dialog{--search-font-heading:18px;--search-font-title:14px;--search-font-body:12px;--search-font-caption:10px;--search-radius:34px;--search-inner-radius:24px;border-radius:var(--search-radius);background:color-mix(in srgb, var(--background) 97%, var(--soft));width:min(1040px,100%);height:min(720px,100dvh - 48px);color:var(--ink);box-shadow:0 24px 72px color-mix(in srgb, var(--ink) 20%, transparent);font-family:var(--font-site-heading,"Parkinsans"), sans-serif;border:0;outline:0;flex-direction:column;padding:12px;animation:.17s cubic-bezier(.2,.8,.2,1) both site-search-rise-in;display:flex;overflow:hidden}html.text-scale-xl .site-search-dialog :is(input,button,strong){font-size:var(--search-font-title)!important}html.text-scale-xl .site-search-dialog :is(p,.site-search-terms button,.site-search-close){font-size:var(--search-font-body)!important}html.text-scale-xl .site-search-dialog :is(small,.site-search-results-heading){letter-spacing:0;font-size:var(--search-font-caption)!important}html.text-scale-xl .site-search-dialog .site-search-header h2{font-size:var(--search-font-heading)!important}.site-search-dialog *,.site-search-dialog :before,.site-search-dialog :after{font-optical-sizing:auto;font-family:var(--font-site-heading,"Parkinsans"), sans-serif!important}.site-search-header{flex:none;justify-content:space-between;align-items:center;min-height:62px;padding:0 12px 0 18px;display:flex}.site-search-header h2{color:var(--ink);letter-spacing:-.055em;margin:0;font-weight:720;line-height:1;font-size:var(--search-font-heading)!important}.site-search-header h2 span{color:var(--accent)}.site-search-close{border-radius:999px;align-items:center;gap:8px;min-height:38px;font-weight:550;transition:background-color .14s,color .14s;display:inline-flex;background:color-mix(in srgb, var(--ink) 6%, transparent)!important;color:var(--muted)!important;font-size:var(--search-font-body)!important;border:0!important;padding:0 12px!important}.site-search-close:hover{background:color-mix(in srgb, #f3b7ab 24%, var(--background))!important;color:var(--ink)!important;border:0!important}.site-search-close:focus-visible,.site-search-terms button:focus-visible,.site-search-results a:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 44%, transparent);outline-offset:2px}.site-search-layout{flex:1;grid-template-columns:minmax(220px,29%) minmax(0,71%);gap:12px;min-height:0;display:grid}.site-search-sidebar,.site-search-content{border-radius:var(--search-inner-radius);min-height:0}.site-search-sidebar{background:color-mix(in srgb, #c8e8df 16%, var(--soft));padding:18px}.site-search-field{background:var(--background);min-height:52px;color:var(--muted);border-radius:999px;align-items:center;gap:10px;padding:0 15px;transition:box-shadow .15s,color .15s;display:flex}.site-search-field:focus-within{color:var(--ink);box-shadow:0 0 0 3px #78b8d440}.site-search-field>svg{flex:0 0 19px}.site-search-dialog .site-search-field input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:0;font-weight:500;font-size:var(--search-font-title)!important}.site-search-field input::placeholder{color:var(--muted);opacity:.78}.site-search-terms{margin-top:24px}.site-search-terms p,.site-search-results-heading{color:var(--muted);letter-spacing:.065em;text-transform:uppercase;margin:0;font-weight:650;line-height:1.4;font-size:var(--search-font-caption)!important}.site-search-terms p{padding:0 4px 10px}.site-search-terms>div{flex-wrap:wrap;gap:7px;display:flex}.site-search-terms button{border-radius:999px;min-height:34px;transition:background-color .14s,color .14s;background:color-mix(in srgb, var(--background) 82%, transparent)!important;color:var(--muted)!important;font-size:var(--search-font-body)!important;border:0!important;padding:0 12px!important}.site-search-terms button:nth-child(4n+1):hover{background:color-mix(in srgb, #f3b7ab 28%, var(--background))!important}.site-search-terms button:nth-child(4n+2):hover{background:color-mix(in srgb, #f1d57d 30%, var(--background))!important}.site-search-terms button:nth-child(4n+3):hover{background:color-mix(in srgb, #b7a7e5 24%, var(--background))!important}.site-search-terms button:nth-child(4n):hover{background:color-mix(in srgb, #a7d7e9 28%, var(--background))!important}.site-search-terms button:hover{color:var(--ink)!important}.site-search-content{background:color-mix(in srgb, var(--ink) 3%, transparent);flex-direction:column;padding:16px;display:flex}.site-search-results-heading{flex:none;justify-content:space-between;padding:1px 3px 11px;display:flex}.site-search-results{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 35%, transparent) transparent;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;min-height:0;padding:1px 5px 5px 1px;display:grid;overflow-y:auto}.site-search-results a:after{content:none;display:none}.site-search-card,.site-search-page-result{--result-tint:#f4c3b9;color:var(--ink);transition:filter .14s,transform .14s;position:relative;overflow:hidden}.site-search-results>:nth-child(5n+2){--result-tint:#f3dc94}.site-search-results>:nth-child(5n+3){--result-tint:#b9e2d5}.site-search-results>:nth-child(5n+4){--result-tint:#b9ddeb}.site-search-results>:nth-child(5n){--result-tint:#d4c4ef}.site-search-card{background:color-mix(in srgb, var(--result-tint) 72%, var(--background));border-radius:21px;flex-direction:column;min-height:210px;padding:17px;display:flex}.site-search-card:hover,.site-search-page-result:hover{color:var(--ink);filter:saturate(1.04);transform:translateY(-2px)}.site-search-card-copy{z-index:2;display:block;position:relative}.site-search-card-copy small,.site-search-page-result small{color:color-mix(in srgb, var(--ink) 66%, var(--muted));letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-weight:650;line-height:1.3;display:block;font-size:var(--search-font-caption)!important}.site-search-card-copy strong{color:var(--ink);letter-spacing:-.025em;font-weight:680;line-height:1.25;display:block;font-size:var(--search-font-title)!important}.site-search-card-copy>span{color:color-mix(in srgb, var(--ink) 66%, var(--muted));-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;line-height:1.45;display:-webkit-box;overflow:hidden;font-size:var(--search-font-body)!important}.site-search-card-writing{justify-content:center;min-height:164px}.site-search-browser-preview{background:color-mix(in srgb, var(--background) 90%, white);transform-origin:bottom;border-radius:13px 13px 0 0;height:91px;transition:bottom .17s,transform .17s;display:block;position:absolute;bottom:-26px;left:15px;right:15px;overflow:hidden;transform:rotate(-2deg)}.site-search-card:nth-child(2n) .site-search-browser-preview{transform:rotate(2deg)}.site-search-card:hover .site-search-browser-preview{bottom:-10px;transform:rotate(0)}.site-search-browser-bar{background:color-mix(in srgb, var(--soft) 70%, var(--background));align-items:center;gap:3px;height:17px;padding:0 7px;display:flex}.site-search-browser-bar b{background:#ef8f82;border-radius:50%;width:4px;height:4px}.site-search-browser-bar b:nth-child(2){background:#e5c45e}.site-search-browser-bar b:nth-child(3){background:#75c291}.site-search-browser-bar em{background:color-mix(in srgb, var(--muted) 18%, transparent);border-radius:999px;width:42%;height:4px;margin-left:7px}.site-search-browser-body{grid-template-columns:25% 1fr;gap:7px;padding:9px;display:grid}.site-search-browser-body>b{background:color-mix(in srgb, var(--result-tint) 42%, var(--soft));border-radius:6px;height:53px}.site-search-browser-body>span{align-items:flex-start;gap:5px;display:flex}.site-search-browser-body>span:last-child{position:absolute;bottom:10px;left:calc(25% + 16px);right:9px}.site-search-browser-body em{background:color-mix(in srgb, var(--result-tint) 32%, var(--soft));border-radius:5px;width:42px;height:21px;display:block}.site-search-browser-body>span:last-child em{background:color-mix(in srgb, var(--muted) 21%, transparent);border-radius:999px;width:54px;height:5px}.site-search-gallery-preview{border-radius:12px;grid-template-columns:1.2fr .8fr 1fr;gap:6px;height:74px;display:grid;position:absolute;bottom:14px;left:15px;right:15px;overflow:hidden}.site-search-gallery-preview img{object-fit:cover}.site-search-gallery-preview i{background:linear-gradient(145deg, color-mix(in srgb, #e8a995 65%, var(--background)), color-mix(in srgb, #f1d57d 48%, var(--background)));border-radius:10px}.site-search-gallery-preview i:nth-child(2){background:linear-gradient(145deg, color-mix(in srgb, #8ec9dd 60%, var(--background)), color-mix(in srgb, #b9e2d5 54%, var(--background)))}.site-search-gallery-preview i:nth-child(3){background:linear-gradient(145deg, color-mix(in srgb, #c2afe5 58%, var(--background)), color-mix(in srgb, #e7aac0 45%, var(--background)))}.site-search-page-result{background:color-mix(in srgb, var(--result-tint) 24%, var(--background));border-radius:18px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:13px 16px;display:flex}.site-search-page-result>span{min-width:0}.site-search-page-result small{margin-bottom:2px}.site-search-page-result strong{text-overflow:ellipsis;white-space:nowrap;line-height:1.35;display:block;overflow:hidden;font-size:var(--search-font-title)!important}.site-search-page-result>span>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;line-height:1.4;display:block;overflow:hidden;font-size:var(--search-font-body)!important}.site-search-page-result i{color:var(--muted);font-style:normal;font-size:var(--search-font-title)!important}.site-search-empty{color:var(--muted);text-align:center;flex:1;align-content:center;justify-items:center;padding:32px;display:grid}.site-search-empty strong{color:var(--ink);margin-top:10px;font-size:var(--search-font-title)!important}.site-search-empty p{margin:4px 0 0;font-size:var(--search-font-body)!important}@keyframes site-search-fade-in{0%{opacity:0}to{opacity:1}}@keyframes site-search-rise-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:780px){.site-search-backdrop{align-items:flex-start;padding:12px}.site-search-dialog{--search-radius:28px;--search-inner-radius:20px;height:calc(100dvh - 24px)}.site-search-header{min-height:54px;padding-left:12px}.site-search-layout{display:block;overflow-y:auto}.site-search-sidebar{min-height:auto;padding:14px}.site-search-terms{margin-top:15px}.site-search-content{min-height:360px;margin-top:10px}.site-search-results{overflow:visible}}@media (max-width:560px){.site-search-backdrop{padding:8px}.site-search-dialog{height:calc(100dvh - 16px);padding:8px}.site-search-close span{display:none}.site-search-close{justify-content:center;width:36px;min-height:36px;padding:0!important}.site-search-results{grid-template-columns:minmax(0,1fr)}.site-search-page-result{grid-column:1}}@media (prefers-reduced-motion:reduce){.site-search-backdrop,.site-search-dialog{animation:none}.site-search-close,.site-search-terms button,.site-search-results a,.site-search-browser-preview{transition:none}}.site-search-dialog .site-search-card-copy>strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden;-webkit-line-clamp:1!important;line-clamp:1!important;display:block!important}
html.text-scale-xl{--font-meta:.875rem;--font-control:1rem;--font-body:1.25rem;--font-heading:1.75rem;--font-display:4rem;--font-hero:7.5rem;--line-height-body:1.65;--xl-text-small:var(--font-control);--xl-text-body:var(--font-body);--xl-text-heading:var(--font-heading);--xl-text-display:var(--font-display)}html.text-scale-xl body{font-size:var(--font-control)}html.text-scale-xl body *{font-size:inherit!important}html.text-scale-xl body :is(p,li,blockquote,.intro,.detail-copy,.article-body){font-size:var(--font-body)!important}html.text-scale-xl body :is(small,label,.breadcrumb,.article-meta,.detail-meta dt,.article-tags){font-size:var(--font-meta)!important}html.text-scale-xl body :is(button,input,textarea,select,.xl-floating-nav a,.xl-tool-card,.xl-tool-card>span){font-size:var(--font-control)!important}html.text-scale-xl body .home-writing-titles a{line-height:var(--line-height-body);font-size:var(--font-body)!important}html.text-scale-xl body .xl-edge-links a{font-size:var(--font-meta)!important}html.text-scale-xl body :is(h2,h3,h4,h5,h6),html.text-scale-xl body .showcase article.work-card .work-card-heading h3,html.text-scale-xl body .home-page #about>p:first-of-type{font-size:var(--font-heading)!important}html.text-scale-xl body .home-page #about>p:nth-of-type(2){font-size:var(--font-body)!important}html.text-scale-xl body .home-page :is(.role,.intro,#about>p,.contact>p){line-height:var(--line-height-body);color:var(--ink)}html.text-scale-xl body h1,html.text-scale-xl body :is(.section-heading h2,.home-page .section-heading h2,.home-page .about>h2:first-child,.home-page .contact>h2){font-size:var(--font-display)!important}html.text-scale-xl body .home-page .hero h1{font-size:clamp(4.5rem,3rem + 7.5vw,7.5rem)!important}html.text-scale-xl body .xl-sidebar-shell .xl-floating-logo{font-size:clamp(1.5rem,1.4rem + .5vw,1.75rem)!important}html.text-scale-xl body .home-page #about>.stack-title{font-size:var(--font-heading)!important}html.text-scale-xl body .site-search-dialog{--search-font-heading:var(--font-body);--search-font-title:var(--font-control);--search-font-body:var(--font-meta);--search-font-caption:var(--font-meta)}html.text-scale-xl body .site-search-dialog :is(input,button,strong){font-size:var(--search-font-title)!important}html.text-scale-xl body .site-search-dialog :is(p,small,.site-search-results-heading,.site-search-terms button,.site-search-close){font-size:var(--font-meta)!important}html.text-scale-xl body .site-search-dialog .site-search-header h2{font-size:var(--font-body)!important}html.text-scale-xl body .site-status-bar *{font-size:var(--font-meta)!important}html.text-scale-xl body .site-status-bar{height:42px}.site-status-items button{min-width:32px;height:32px}.site-status-items .language-flag{width:20px;height:14px}.site-status-items svg{width:18px;height:18px}@media (max-width:820px){html.text-scale-xl{--font-display:2.5rem;--font-hero:4.5rem}}@media (max-width:420px){.site-status-brand{display:none}.site-status-items{justify-content:space-between;width:100%}}
html body .app-root>.visitor-survey-backdrop,html.text-scale-xl body .app-root>.visitor-survey-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;background:#0c0f133d!important;width:100%!important;height:100dvh!important;min-height:0!important;margin:0!important;display:flex!important;position:fixed!important;inset:0!important}html body .visitor-survey{background:var(--background);width:min(540px,100%);max-height:calc(100dvh - 40px);box-shadow:none;border:0;border-radius:32px;padding:36px;overflow-y:auto}html.text-scale-xl body .visitor-survey h2{max-width:none;margin:0 0 16px;font-weight:800;line-height:1.25;font-size:var(--font-heading)!important}html.text-scale-xl body .visitor-survey .visitor-survey-intro{background:color-mix(in srgb, #f6e5b5 35%, var(--background));color:var(--muted);border-radius:20px;margin:0 0 26px;padding:20px;line-height:1.75;font-size:var(--font-control)!important}html.dark body .visitor-survey .visitor-survey-intro{background:color-mix(in srgb, #f6e5b5 12%, var(--background))}html body .visitor-survey form>label:not(.visitor-survey-consent){margin:20px 0 8px;font-weight:600}html body .visitor-survey input:not([type=checkbox]),html body .visitor-survey .visitor-country-trigger{border-radius:16px;height:54px;padding:0 18px;background:var(--soft)!important;color:var(--ink)!important;font-family:var(--font-site-heading,"Parkinsans"), sans-serif!important;box-shadow:none!important;border:1px solid #0000!important}html body .visitor-survey input:not([type=checkbox]):focus,html body .visitor-survey .visitor-country-trigger:focus-visible,html body .visitor-survey .visitor-country-picker.is-open .visitor-country-trigger{outline:2px solid color-mix(in srgb, var(--accent) 20%, transparent);outline-offset:3px;border-color:var(--accent)!important}html body .visitor-survey .visitor-country-trigger:hover{border-color:var(--line)!important}html body .visitor-survey .visitor-survey-consent{align-items:flex-start;gap:12px;margin-top:22px;line-height:1.6}html.text-scale-xl body .visitor-survey :is(.visitor-survey-consent,.visitor-survey-privacy,.visitor-survey-error){line-height:1.65;font-size:var(--font-meta)!important}html body .visitor-survey .visitor-survey-privacy{color:var(--muted);margin:16px 0 0}html body .visitor-survey .visitor-survey-privacy a{color:var(--ink);text-underline-offset:4px}html body .visitor-survey .visitor-survey-actions{gap:12px;margin-top:28px}html body .visitor-survey .visitor-survey-actions button{flex:1;min-width:0}html body .visitor-country-menu{box-shadow:none;border-radius:22px;padding:10px}html body .visitor-country-search{font-family:var(--font-site-heading,"Parkinsans"), sans-serif!important;border-radius:14px!important}html body .visitor-country-option{border-radius:12px}@media (max-width:560px){html body .visitor-survey{border-radius:28px;padding:26px 22px}html body .visitor-survey .visitor-survey-actions{flex-direction:column}}
@media (max-width:820px){html.text-scale-xl body .site-status-bar{justify-content:center;height:72px;padding:6px 16px}html.text-scale-xl body .site-status-brand{display:none}html.text-scale-xl body .site-status-items{grid-template-columns:repeat(3,36px) auto;justify-content:center;align-items:center;gap:0 12px;width:100%;display:grid}html.text-scale-xl body .site-status-items time{grid-column:1/-1;justify-content:center;gap:10px;padding:4px 0}html.text-scale-xl body .xl-sidebar-shell{z-index:1100;width:auto;max-height:calc(100dvh - 104px);position:fixed;inset:84px 20px auto;overflow:visible;transform:none}html.text-scale-xl body .xl-sidebar-shell .xl-floating-header{flex-direction:column;width:100%;max-height:none;padding:0;position:relative;top:auto;left:auto;overflow:visible!important}html.text-scale-xl body .xl-sidebar-shell .xl-sidebar-brand{background:var(--background);border:1px solid var(--line);width:100%;min-height:48px;padding:6px 14px}html.text-scale-xl body .xl-sidebar-shell .xl-floating-menu-toggle{background:var(--soft);border-radius:999px;justify-content:center;align-items:center;gap:8px;width:auto;height:36px;padding:0 12px;display:inline-flex}html.text-scale-xl body .xl-sidebar-shell .xl-floating-nav{display:none!important}html.text-scale-xl body .xl-sidebar-shell .xl-floating-nav.is-open{border:1px solid var(--line);background:var(--background);border-radius:24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(100dvh - 160px);padding:16px;position:absolute;inset:calc(100% + 10px) 0 auto;overflow-y:auto;display:grid!important}html.text-scale-xl body .xl-sidebar-shell .xl-floating-nav a{white-space:normal;gap:8px;width:100%;min-width:0;min-height:48px;padding:10px 12px}html.text-scale-xl body .xl-edge-links{display:none!important}html.text-scale-xl body .app-root>div:not(.custom-context-menu)>main,html.text-scale-xl body .app-root>div:not(.custom-context-menu)>.page-aligned,html.text-scale-xl body .page-frame.page-shell.page-aligned,html.text-scale-xl body .app-root>div:not(.custom-context-menu)>main.home-page{width:calc(100% - 40px)!important;max-width:1080px!important;margin:0 auto!important;padding-top:164px!important}html.text-scale-xl body .home-page .hero{min-height:auto;padding:12px 0 40px!important}html.text-scale-xl body .home-page .hero-top{gap:20px}html.text-scale-xl body .hero-identity{flex-wrap:wrap;gap:14px}html.text-scale-xl body .home-page .hero h1{font-size:clamp(3.5rem,16vw,4.5rem)!important}html.text-scale-xl body .hero-portrait{width:56px;height:56px}html.text-scale-xl body .hero-profile-status{max-width:none;padding:6px 10px;position:static}html.text-scale-xl body .hero-profile-status:before{display:none}html.text-scale-xl body .hero-profile{gap:8px}html.text-scale-xl body .home-page .role{margin:24px 0 16px;line-height:1.6}html.text-scale-xl body .home-page .intro{margin-bottom:24px;line-height:1.65}html.text-scale-xl body .showcase{padding:36px 0}html.text-scale-xl body .showcase .card-grid,html.text-scale-xl body .showcase .xl-masonry-grid{columns:auto;gap:18px;grid-template-columns:minmax(0,1fr)!important;display:grid!important}html.text-scale-xl body .showcase article.work-card{min-width:0;padding:28px 22px 0!important}html.text-scale-xl body .showcase article.work-card.writing-card{padding:24px!important}html.text-scale-xl body .home-page #about{padding:36px 0}html.text-scale-xl body .home-page #about>.resume-link{margin-bottom:36px!important}html.text-scale-xl body .home-page .contact{border-radius:28px;margin-top:12px;padding:28px 22px}html.text-scale-xl body :is(.article-title,.detail-title,.collection-title-row){align-items:flex-start;gap:12px}html.text-scale-xl body :is(.article-title,.detail-title,.static-intro) h1{overflow-wrap:anywhere}html.text-scale-xl body .detail-page .detail-info-rail{width:100%;margin:32px 0;position:static}html.text-scale-xl body .detail-page .detail-info-rail-inner{position:static}html.text-scale-xl body .gallery-grid{grid-template-columns:minmax(0,1fr)}html.text-scale-xl body .gallery-filters{flex-wrap:wrap;gap:8px}html.text-scale-xl body :is(.detail-copy,.article-body) pre{max-width:100%;overflow-x:auto}html.text-scale-xl body .back-to-top,html.text-scale-xl body .visitor-survey-icon-launcher{width:44px;min-width:44px;height:44px;right:12px}html.text-scale-xl body .app-root:has(.back-to-top) .visitor-survey-icon-launcher{bottom:calc(max(20px, env(safe-area-inset-bottom)) + 56px + var(--visible-footer-height,0px))}html.text-scale-xl body :is(#projects,#playground,#writing,#about,#contact){scroll-margin-top:152px}}
