@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-grotesk-regular.ttf)format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/space-grotesk-semibold.ttf)format("truetype")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f2f3ef;--ink:#18201a;--muted:#5d655c;--line:#cbd0c7;--surface:#e3e7de;--accent:#315df5;--gutter:clamp(22px, 4.4vw, 76px);--page-width:1480px;--ease:cubic-bezier(.22, 1, .36, 1);background:var(--paper)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--paper:#111311;--ink:#edf0e6;--muted:#a0a69b;--line:#34392f;--surface:#1a1e18}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#111311;--ink:#edf0e6;--muted:#a0a69b;--line:#34392f;--surface:#1a1e18}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Space Grotesk,Microsoft YaHei UI,Microsoft YaHei,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}button:active,.work-link:active{transform:translateY(1px)}::selection{background:var(--accent);color:#f8faf4}main{min-width:320px;overflow:clip}.page-width{width:min(100%, var(--page-width));padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:12px;left:var(--gutter);z-index:2;background:var(--ink);color:var(--paper);padding:14px;position:absolute;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;gap:42px;height:96px;display:grid;position:relative}.wordmark{letter-spacing:-.07em;justify-self:start;font-size:19px;font-weight:600}nav{gap:36px;display:flex}nav a{color:var(--muted);padding:12px 0;font-size:13px;transition:color .2s}nav a:hover{color:var(--ink)}.display-controls{justify-self:end;gap:21px;display:flex}.display-controls button{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:9px;padding:10px 0;font-size:11px;display:inline-flex}.display-controls button:hover{color:var(--ink)}.theme-symbol{background:linear-gradient(90deg,currentColor 50%,#0000 50%);border:1px solid;border-radius:50%;width:14px;height:14px}.pause-symbol{border-inline:2px solid;width:9px;height:11px;display:block}.play-symbol{border-block:5px solid #0000;border-left:8px solid;width:0;height:0;display:block}.hero{padding-top:24px}.hero-identity{color:var(--muted);align-items:center;gap:18px;font-size:12px;display:flex}.hero-identity span{letter-spacing:-.02em;font-size:11px}.hero-art{width:min(100%,1600px);height:clamp(320px,35vw,535px);margin:20px auto 28px;position:relative}.shader-surface{isolation:isolate;width:100%;height:100%;position:relative}.shader-surface canvas,.shader-fallback{width:100%;height:100%;display:block;position:absolute;inset:0}.shader-surface canvas{opacity:0}.shader-surface[data-ready=true] canvas{opacity:1}.shader-surface[data-ready=true] .shader-fallback{visibility:hidden}.hero-fallback{letter-spacing:-.055em;place-content:center;height:100%;font-size:clamp(38px,12.5vw,185px);font-weight:400;display:grid}.shader-fibers .shader-fallback{background:radial-gradient(ellipse at 40% 75%,var(--line),transparent 70%),var(--surface)}.shader-clouds .shader-fallback{background:linear-gradient(#465968,#d68e6b 54%,#55656c)}.hero-caption{grid-template-columns:1.1fr 1fr auto;align-items:end;gap:32px;padding-top:0;padding-bottom:86px;display:grid}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(24px,3.3vw,48px);font-weight:400;line-height:1.35}.mobile-break{display:none}.hero-caption p{max-width:23em;color:var(--muted);margin:0 0 7px;font-size:13px;line-height:1.8}.work-link{border-bottom:1px solid var(--ink);align-items:center;gap:24px;margin-bottom:0;padding:13px 0;font-size:12px;display:flex}.work-link>span:last-child{transition:transform .3s var(--ease);font-size:21px}.work-link:hover>span:last-child{transform:translate(3px,-3px)}.work-section{border-top:1px solid var(--line);padding-block:56px 100px}.section-heading{margin-bottom:43px}.section-heading h2{letter-spacing:-.075em;margin:0 0 16px;font-size:clamp(30px,4.2vw,60px);font-weight:400;line-height:1.2}.section-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.work-grid{grid-template-columns:1.48fr 1fr;align-items:start;gap:44px;display:grid}.work-slot{min-width:0}.work-slot-small{padding-top:100px}.slot-visual{background:var(--surface);width:100%;height:clamp(230px,27vw,410px);position:relative;overflow:hidden}.cloud-visual{height:clamp(220px,24vw,360px)}.slot-watermark{pointer-events:none;color:var(--ink);opacity:.63;letter-spacing:-.08em;font-size:clamp(29px,4.1vw,58px);line-height:.93;position:absolute;top:28px;left:32px}.slot-caption{justify-content:space-between;align-items:baseline;gap:20px;padding-top:20px;display:flex}.slot-caption h3{letter-spacing:-.04em;margin:0;font-size:15px;font-weight:400}.slot-caption>span{color:var(--muted);white-space:nowrap;font-size:11px}.practice{grid-template-columns:.6fr 1.4fr;gap:65px;padding-block:45px 85px;display:grid}.practice>h2{margin:16px 0 0;font-size:16px;font-weight:400}.practice-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:17px 0;display:flex}.practice-list h3{letter-spacing:-.04em;margin:0;font-size:17px;font-weight:400}.practice-list p{color:var(--muted);margin:3px 0 0;font-size:11px}.contact{border-top:1px solid var(--line);grid-template-columns:1fr 240px;align-items:center;gap:80px;padding-block:75px 65px;display:grid}.contact-copy>p{color:var(--muted);margin:0 0 27px;font-size:12px}.contact h2{letter-spacing:-.07em;margin:0 0 30px;font-size:clamp(30px,4.5vw,64px);font-weight:400;line-height:1.2}.email-link{letter-spacing:-.045em;align-items:center;gap:32px;padding-block:8px;font-size:clamp(17px,2vw,25px);display:inline-flex}.email-link:hover{color:var(--accent)}.mascot{background:0 0;border:0;border-radius:0;height:245px;padding:0;display:block;position:relative}.mascot .shader-surface{height:225px}.mascot>span{color:var(--muted);opacity:0;font-size:10px;transition:opacity .2s;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.mascot:hover>span,.mascot:focus-visible>span,.mascot:disabled>span{opacity:1}.mascot:disabled{cursor:default}.site-footer{padding-bottom:32px}.footer-line{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:25px;font-size:10px;display:flex}.credits{color:var(--muted);margin-top:19px;font-size:10px}.credits summary{cursor:pointer;width:fit-content;padding-block:7px;display:list-item}.credits>p{max-width:55em;line-height:1.9}.credits ul{max-width:790px;padding:0;list-style:none}.credits li{justify-content:space-between;gap:24px;padding-block:7px;display:flex}.credits a{text-underline-offset:3px;color:var(--ink);text-decoration:underline}.source-link{margin-top:7px;display:inline-block}@media (width>=1600px){.hero-caption{padding-bottom:100px}}@media (width<=1023px){.site-header{gap:24px;height:86px}nav{gap:26px}.display-controls{gap:12px}.control-label{display:none}.hero-caption{grid-template-columns:1fr auto;gap:22px;padding-bottom:65px}.hero-caption p{grid-row:2;margin:-14px 0 0;font-size:11px}.work-link{grid-area:1/2/3;align-self:center}.work-grid{gap:26px}.slot-caption{display:block}.slot-caption>span{margin-top:9px;display:block}.contact{grid-template-columns:1fr 180px;gap:28px}.mascot{height:210px}.mascot .shader-surface{height:190px}}@media (width<=767px){.site-header{grid-template-columns:1fr auto;gap:0;height:78px}.wordmark{font-size:17px}nav{grid-area:2/1/auto/-1;gap:28px}nav a{padding-block:4px 12px;font-size:11px}.display-controls{grid-area:1/2;gap:8px}.display-controls button{min-width:44px}.hero{padding-top:36px}.hero-identity{gap:10px;font-size:10px}.hero-identity span{font-size:9px}.hero-art{height:clamp(230px,57vw,390px);margin-top:18px;margin-bottom:24px}.hero-caption{grid-template-columns:1fr auto;align-items:center;padding-bottom:62px}.hero h1{letter-spacing:-.055em;font-size:clamp(25px,5.7vw,42px)}.hero-caption p{grid-column:1/-1;margin-top:-7px;font-size:11px}.work-link{grid-row:1;gap:18px;padding-block:8px;font-size:10px}.work-link>span:last-child{font-size:19px}.work-section{padding-block:40px 62px}.section-heading{margin-bottom:28px}.section-heading h2{margin-bottom:13px;font-size:32px}.section-heading p{font-size:11px}.work-grid{display:block}.work-slot-small{padding-top:42px}.slot-visual,.cloud-visual{height:270px}.slot-watermark{font-size:42px;top:25px;left:24px}.slot-caption{padding-top:17px;display:flex}.slot-caption h3{font-size:14px}.slot-caption>span{margin:0;font-size:10px}.practice{padding-block:0 58px;display:block}.practice>h2{margin:0 0 18px;font-size:14px}.practice-list h3{font-size:14px}.practice-list p{font-size:10px}.practice-list>div{gap:14px;padding-block:17px}.contact{grid-template-columns:1fr 95px;gap:8px;padding-block:46px 43px}.contact-copy>p{margin-bottom:18px;font-size:10px}.contact h2{letter-spacing:-.075em;margin-bottom:13px;font-size:26px}.email-link{gap:12px;font-size:clamp(13px,3.55vw,20px)}.mascot{height:145px}.mascot .shader-surface{height:140px}.mascot>span{font-size:9px;bottom:-3px}.footer-line{padding-top:20px;font-size:9px}.credits{font-size:9px}.credits li{display:block}.credits li>span{margin-top:4px;display:block}}@media (width<=370px){.hero-caption{column-gap:10px}.work-link{gap:10px}.contact{grid-template-columns:1fr 77px}.contact h2{font-size:24px}.practice-list p{font-size:9px}}@media (prefers-reduced-motion:no-preference){.hero-identity,.hero-caption{animation:appear .8s var(--ease) both}.hero-caption{animation-delay:.14s}@keyframes appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}:root[data-motion=paused]{scroll-behavior:auto}:root[data-motion=paused] *,:root[data-motion=paused] :before,:root[data-motion=paused] :after{transition:none!important;animation:none!important}
