.is-lightbox-open{overflow:hidden}.lightbox[data-astro-cid-gixpweiw]{width:min(1120px,calc(100vw - var(--spacing-32)));max-width:none;max-height:calc(100vh - var(--spacing-32));padding:0;border:0;background:transparent;color:var(--color-text-primary)}.lightbox[data-astro-cid-gixpweiw]::backdrop{background:#101418c7;backdrop-filter:blur(8px)}.lightbox-figure[data-astro-cid-gixpweiw]{margin:0}.lightbox-image[data-astro-cid-gixpweiw]{max-width:100%;max-height:calc(100vh - var(--spacing-32));object-fit:contain;border-radius:var(--spacing-12);background:#fff}@media (max-width: 768px){.lightbox[data-astro-cid-gixpweiw]{width:calc(100vw - var(--spacing-24))}.lightbox-image[data-astro-cid-gixpweiw]{max-height:calc(100vh - var(--spacing-24))}}.work-footer-nav[data-astro-cid-lrnr5h7t]{position:relative;z-index:13;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-16);max-width:var(--work-wide-max);margin:var(--spacing-24) auto 0;padding-top:var(--spacing-24);border-top:1px solid var(--color-border-static);background:var(--color-bg)}.content-layer[data-has-body=false] .work-footer-nav[data-astro-cid-lrnr5h7t]{margin-top:var(--spacing-64)}.work-footer-link[data-astro-cid-lrnr5h7t]{display:inline-flex;align-items:center;gap:var(--spacing-8);min-height:36px;padding:var(--spacing-4) var(--spacing-12) var(--spacing-4) var(--spacing-8);border-radius:var(--spacing-8);color:var(--color-text-primary);font-size:var(--ts-size-caption1);font-weight:var(--ts-weight-medium);line-height:var(--ts-lh-caption1);letter-spacing:0;text-decoration:none;transition:background-color .15s ease,transform .16s ease}.work-footer-link[data-astro-cid-lrnr5h7t]:hover{background-color:#22c2d70f}.work-footer-link[data-astro-cid-lrnr5h7t]:active{background-color:#22c2d71a;transform:translateY(1px)}.work-footer-link[data-astro-cid-lrnr5h7t]:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:4px}.work-footer-link-next[data-astro-cid-lrnr5h7t]{margin-left:auto;padding-right:var(--spacing-8);padding-left:var(--spacing-12)}.work-footer-link[data-astro-cid-lrnr5h7t] .material-symbols-rounded[data-astro-cid-lrnr5h7t]{font-size:20px;line-height:1}@media (max-width: 768px){.content-layer[data-has-body=false] .work-footer-nav[data-astro-cid-lrnr5h7t]{margin-top:var(--spacing-48)}}.header[data-astro-cid-wtoirkoz]{position:relative;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;max-width:976px;margin:0 auto;padding:var(--spacing-24);z-index:20}.header-left[data-astro-cid-wtoirkoz]{display:flex;align-items:center;font-family:genos,var(--font-family-ibm-plex);font-size:29px;font-weight:500}.header-left-logo[data-astro-cid-wtoirkoz]{display:inline-block;width:20px;height:20px;margin-top:2px;margin-right:var(--spacing-8);border-radius:5px;background:radial-gradient(114.53% 114.53% at 22.22% 16.67%,#4ee0f3,#22c2d7 48.5%,#07525c)}.brand-link[data-astro-cid-wtoirkoz]{display:inline-block;color:var(--color-text-tertiary);font-size:var(--ts-size-headline1);font-weight:var(--ts-weight-medium);line-height:1;text-decoration:none}.brand-link[data-astro-cid-wtoirkoz]:hover{color:var(--color-text-secondary)}.brand-link[data-astro-cid-wtoirkoz]:focus-visible,.close-button[data-astro-cid-wtoirkoz]:focus-visible{outline:2px solid var(--color-text-link);outline-offset:4px}.project-label[data-astro-cid-wtoirkoz]{display:inline-block;margin-left:8px;color:var(--color-text-primary);line-height:1}.close-button[data-astro-cid-wtoirkoz]{position:fixed;top:var(--spacing-24);right:max(var(--spacing-24),calc((100% - 976px)/2));display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);border:1px solid var(--color-border-control);border-radius:var(--spacing-12);background:#ffffffe0;backdrop-filter:blur(12px);color:var(--color-text-primary);text-decoration:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.close-button[data-astro-cid-wtoirkoz] .material-symbols-rounded[data-astro-cid-wtoirkoz]{font-size:21px;line-height:1}.close-button[data-astro-cid-wtoirkoz]:hover{background:#ffffffe6;border-color:#22c2d773}.close-button[data-astro-cid-wtoirkoz][data-floating=true]{box-shadow:0 1px 6px #0000000a}.close-button[data-astro-cid-wtoirkoz]:active{background:#ffffffd6;border-color:#22c2d780}@media (max-width: 768px){.header[data-astro-cid-wtoirkoz]{padding:var(--spacing-16)}.close-button[data-astro-cid-wtoirkoz]{top:var(--spacing-16);right:var(--spacing-16)}}.project-main-visual[data-astro-cid-wuwm4due]{width:100%;max-width:1832px;margin:42px auto var(--spacing-32)}.project-main-visual[data-astro-cid-wuwm4due] img[data-astro-cid-wuwm4due]{display:block;width:100%;height:min(720px,54vw);min-height:420px;object-fit:cover;border:1px solid var(--color-border-static);border-radius:var(--spacing-24);box-sizing:border-box;cursor:zoom-in}.project-main-visual-embed[data-astro-cid-wuwm4due]{max-width:1040px}.project-main-visual-frame[data-astro-cid-wuwm4due]{position:relative;overflow:hidden;aspect-ratio:16 / 9;border:1px solid var(--color-border-static);border-radius:var(--spacing-16);background:var(--color-ui-secondary)}.project-main-visual-frame[data-astro-cid-wuwm4due] iframe[data-astro-cid-wuwm4due]{position:absolute;inset:0;width:100%;height:100%;border:0}@media (max-width: 768px){.project-main-visual[data-astro-cid-wuwm4due]{margin:var(--spacing-32) auto var(--spacing-48)}.project-main-visual[data-astro-cid-wuwm4due] img[data-astro-cid-wuwm4due]{height:auto;min-height:0;object-fit:contain}}@media (max-width: 480px){.project-main-visual[data-astro-cid-wuwm4due]{margin:var(--spacing-24) auto calc(var(--spacing-48) - var(--spacing-8))}.project-main-visual[data-astro-cid-wuwm4due] img[data-astro-cid-wuwm4due]{border-radius:var(--spacing-8)}}.work-intro[data-astro-cid-dmu26yf4]{display:flex;flex-direction:column;align-items:flex-start;max-width:var(--work-content-max);margin:36px auto 0}.role-tags[data-astro-cid-dmu26yf4]{display:flex;flex-wrap:wrap;gap:var(--spacing-8);margin:0;padding:0;list-style:none}.role-tags[data-astro-cid-dmu26yf4] li[data-astro-cid-dmu26yf4]{padding:4px 12px;border:1px solid var(--color-border-static);border-radius:999px;background:var(--color-ui-primary);color:var(--color-text-primary);font-size:var(--ts-size-caption1);font-weight:var(--ts-weight-regular);line-height:var(--ts-lh-caption1)}.work-title-row[data-astro-cid-dmu26yf4]{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin-top:var(--spacing-12);color:var(--color-text-primary)}.work-title-row[data-astro-cid-dmu26yf4] h1[data-astro-cid-dmu26yf4],.work-title-row[data-astro-cid-dmu26yf4] h2[data-astro-cid-dmu26yf4]{font-size:var(--ts-size-display2);font-weight:var(--ts-weight-bold);line-height:var(--ts-lh-display2);letter-spacing:0;margin:0}.work-title-row[data-astro-cid-dmu26yf4] h1[data-astro-cid-dmu26yf4]:after{content:"";display:inline-block;width:1px;height:.78em;margin-left:14px;background:var(--color-border-emphasis);vertical-align:-.08em}.work-period[data-astro-cid-dmu26yf4]{margin-top:var(--spacing-12);color:var(--color-text-primary);font-size:var(--ts-size-caption1);font-weight:var(--ts-weight-regular);line-height:var(--ts-lh-caption1)}.overview-card[data-astro-cid-dmu26yf4]{width:100%;box-sizing:border-box;margin-top:42px;padding:var(--spacing-24);border:1px solid var(--color-border-static);border-radius:var(--spacing-16);background:var(--color-ui-primary)}.overview-card[data-astro-cid-dmu26yf4] h3[data-astro-cid-dmu26yf4]{margin:0 0 var(--spacing-16);color:var(--color-text-primary);font-size:var(--ts-size-caption1);font-weight:var(--ts-weight-bold);line-height:var(--ts-lh-caption1)}.overview-card[data-astro-cid-dmu26yf4] p{margin:0;color:var(--color-text-primary);font-size:var(--ts-size-body);font-weight:var(--ts-weight-regular);line-height:1.55}.overview-card[data-astro-cid-dmu26yf4] p+p{margin-top:0}.external-link[data-astro-cid-dmu26yf4]{display:flex;align-items:center;gap:var(--spacing-4);margin-top:var(--spacing-16);color:var(--color-text-link)}.external-link[data-astro-cid-dmu26yf4] .material-symbols-rounded[data-astro-cid-dmu26yf4]{font-size:18px}.team-meta[data-astro-cid-yp65yujm]{box-sizing:border-box;max-width:var(--work-content-max);margin:var(--spacing-64) auto 0;padding:var(--spacing-24);border:1px solid var(--color-border-static);border-radius:var(--spacing-12)}.content-layer[data-has-body=false] .team-meta[data-astro-cid-yp65yujm]{margin-top:0}.team-meta-heading[data-astro-cid-yp65yujm]{margin-bottom:var(--spacing-12)}.team-meta[data-astro-cid-yp65yujm] h2[data-astro-cid-yp65yujm]{margin:0;font-size:var(--ts-size-caption1);font-weight:var(--ts-weight-bold);line-height:var(--ts-lh-caption1)}.team-summary[data-astro-cid-yp65yujm]{margin:0;color:var(--color-text-primary);font-size:var(--ts-size-body);font-weight:var(--ts-weight-regular);line-height:var(--ts-lh-body)}.caption[data-astro-cid-yp65yujm]{margin:var(--spacing-8) 0 0;color:var(--color-text-secondary);font-size:var(--ts-size-caption2);font-weight:var(--ts-weight-regular);line-height:var(--ts-lh-caption2);display:block}:root{--font-family-sans: var(--ts-font-family-sans)}.text-display1{font-family:var(--font-family-sans);font-size:var(--ts-size-display1);line-height:var(--ts-lh-display1)}.text-display2{font-family:var(--font-family-sans);font-size:var(--ts-size-display2);line-height:var(--ts-lh-display2)}.text-display3{font-family:var(--font-family-sans);font-size:var(--ts-size-display3);line-height:var(--ts-lh-display3)}.text-headline1{font-family:var(--font-family-sans);font-size:var(--ts-size-headline1);line-height:var(--ts-lh-headline1)}.text-headline2{font-family:var(--font-family-sans);font-size:var(--ts-size-headline2);line-height:var(--ts-lh-headline2)}.text-title1{font-family:var(--font-family-sans);font-size:var(--ts-size-title1);line-height:var(--ts-lh-title1)}.text-title2{font-family:var(--font-family-sans);font-size:var(--ts-size-title2);line-height:var(--ts-lh-title2)}.text-body{font-family:var(--font-family-sans);font-size:var(--ts-size-body);line-height:var(--ts-lh-body)}.text-caption1{font-family:var(--font-family-sans);font-size:var(--ts-size-caption1);line-height:var(--ts-lh-caption1)}.text-caption2{font-family:var(--font-family-sans);font-size:var(--ts-size-caption2);line-height:var(--ts-lh-caption2)}.weight-regular{font-weight:var(--ts-weight-regular)}.weight-medium{font-weight:var(--ts-weight-medium)}.weight-semibold{font-weight:var(--ts-weight-semibold)}.weight-bold{font-weight:var(--ts-weight-bold)}.project-container[data-astro-cid-zyclsntz]{--work-content-max: 720px;--work-wide-max: 976px;--work-page-gutter: var(--spacing-32);margin:0 auto;padding:var(--spacing-24) var(--work-page-gutter) 0}body:has(.project-container){background:#f4f5f6}.content-layer[data-astro-cid-zyclsntz]{margin:0 calc(var(--work-page-gutter) * -1);padding:104px var(--work-page-gutter) var(--spacing-64);border-radius:48px 48px 0 0;background:var(--color-bg)}.content-layer[data-astro-cid-zyclsntz][data-has-body=false]{padding-top:calc(var(--spacing-32) + var(--spacing-48))}.work-body[data-astro-cid-zyclsntz]{max-width:var(--work-content-max);margin:0 auto;color:var(--color-text-primary)}.work-body[data-astro-cid-zyclsntz] h2,.work-body[data-astro-cid-zyclsntz] h3,.work-body[data-astro-cid-zyclsntz] h4,.work-body[data-astro-cid-zyclsntz] p,.work-body[data-astro-cid-zyclsntz] ul,.work-body[data-astro-cid-zyclsntz] ol,.work-body[data-astro-cid-zyclsntz] .findings,.work-body[data-astro-cid-zyclsntz] .improvements{box-sizing:border-box;max-width:720px;margin:0 auto;width:100%}.work-body[data-astro-cid-zyclsntz] h2{font-size:var(--ts-size-headline2);font-weight:var(--ts-weight-bold);line-height:var(--ts-lh-headline2)}.work-body[data-astro-cid-zyclsntz] h2:not(:first-of-type){margin-top:var(--spacing-64)}.work-body[data-astro-cid-zyclsntz] h2+*{margin-top:var(--spacing-24)}.work-body[data-astro-cid-zyclsntz] h3{font-size:var(--ts-size-title1);font-weight:var(--ts-weight-medium);line-height:var(--ts-lh-title1);margin-top:var(--spacing-48)}.work-body[data-astro-cid-zyclsntz] h3+*{margin-top:var(--spacing-16)}.work-body[data-astro-cid-zyclsntz] h4{font-size:var(--ts-size-body);font-weight:var(--ts-weight-medium);line-height:var(--ts-lh-body);margin-top:var(--spacing-32)}.work-body[data-astro-cid-zyclsntz] h4+*{margin-top:var(--spacing-12)}.work-body[data-astro-cid-zyclsntz] p{font-size:var(--ts-size-body);font-weight:var(--ts-weight-regular);line-height:var(--ts-lh-body)}.work-body[data-astro-cid-zyclsntz] p+p{margin-top:var(--spacing-24)}.work-body[data-astro-cid-zyclsntz] p+ul,.work-body[data-astro-cid-zyclsntz] p+ol,.work-body[data-astro-cid-zyclsntz] ul+p,.work-body[data-astro-cid-zyclsntz] ol+p{margin-top:var(--spacing-16)}.work-body[data-astro-cid-zyclsntz] ul,.work-body[data-astro-cid-zyclsntz] ol{padding-left:1.4em;font-size:var(--ts-size-body);font-weight:var(--ts-weight-regular);line-height:var(--ts-lh-body)}.work-body[data-astro-cid-zyclsntz] li+li{margin-top:var(--spacing-8)}.work-body[data-astro-cid-zyclsntz] .period{font-size:var(--font-size-caption1-regular);color:var(--color-text-tertiary);margin-top:var(--spacing-8)}.work-body[data-astro-cid-zyclsntz] img{display:block;width:100%;height:auto;border-radius:var(--spacing-16);border:1px solid var(--color-border-static);box-sizing:border-box;cursor:zoom-in}.work-body[data-astro-cid-zyclsntz] p:first-child:has(>img:only-child){display:none}.work-body[data-astro-cid-zyclsntz] p:has(>img:only-child){max-width:100%;margin-top:var(--spacing-40, 40px)}.work-body[data-astro-cid-zyclsntz] p:has(>img:only-child)+:not(h2){margin-top:var(--spacing-48)}.work-body[data-astro-cid-zyclsntz] .findings{background-color:#f4f5f6;padding:var(--spacing-24);border-radius:var(--spacing-12);margin-top:var(--spacing-24)}.work-body[data-astro-cid-zyclsntz] .findings h5{font-size:var(--ts-size-body);font-weight:var(--ts-weight-medium);margin:0 0 var(--spacing-12);color:var(--color-text-primary)}.work-body[data-astro-cid-zyclsntz] .improvements{margin-top:var(--spacing-24)}.work-body[data-astro-cid-zyclsntz] .improvement-item{margin-top:var(--spacing-32)}.work-body[data-astro-cid-zyclsntz] .improvement-item:first-child{margin-top:0}iframe[data-astro-cid-zyclsntz]{margin:var(--spacing-32) auto 0;border-radius:var(--spacing-12);border:1px solid var(--color-border-static)}.back-to-top-zone[data-astro-cid-zyclsntz]{position:sticky;bottom:var(--spacing-24);z-index:12;display:flex;justify-content:flex-end;max-width:var(--work-wide-max);margin:var(--spacing-64) auto 0;pointer-events:none}.back-to-top-float[data-astro-cid-zyclsntz]{display:inline-flex;align-items:center;gap:var(--spacing-4);width:fit-content;padding:var(--spacing-8) 10px var(--spacing-8) var(--spacing-8);border:1px solid var(--color-border-control);border-radius:var(--spacing-8);background:#ffffffe0;backdrop-filter:blur(12px);color:var(--color-text-primary);font-size:var(--ts-size-caption2);font-weight:var(--ts-weight-medium);line-height:var(--ts-lh-caption2);letter-spacing:0;text-decoration:none;opacity:0;pointer-events:none;transform:translateY(var(--spacing-8));transition:opacity .16s ease,transform .16s ease,border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.back-to-top-float[data-astro-cid-zyclsntz][data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top-float[data-astro-cid-zyclsntz]:hover,.back-to-top-float[data-astro-cid-zyclsntz]:active{background-color:#22c2d706;border-color:#22c2d773}.back-to-top-float[data-astro-cid-zyclsntz][data-floating=true]{box-shadow:0 1px 6px #0000000a}.back-to-top-float[data-astro-cid-zyclsntz]:active{background-color:#22c2d70d;border-color:#22c2d780;transform:translateY(1px)}.back-to-top-float[data-astro-cid-zyclsntz]:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:4px}.back-to-top-float[data-astro-cid-zyclsntz] .material-symbols-rounded[data-astro-cid-zyclsntz]{font-size:16px;line-height:1}@media (max-width: 768px){.project-container[data-astro-cid-zyclsntz]{--work-page-gutter: clamp(var(--spacing-16), 5vw, var(--spacing-32));padding-top:0}.content-layer[data-astro-cid-zyclsntz]{padding-top:var(--spacing-64);padding-bottom:var(--spacing-32);border-radius:var(--spacing-32) var(--spacing-32) 0 0}.content-layer[data-astro-cid-zyclsntz][data-has-body=false]{padding-top:calc(var(--spacing-32) + var(--spacing-48))}}
