[data-motion=on] [data-reveal],[data-motion=on] [data-intro]{visibility:hidden}[data-marquee]{white-space:nowrap;display:flex;overflow:hidden}[data-marquee]>*{transform:translate3d(var(--mx,0), 0, 0);flex:none}.gc-cursor{z-index:1000;pointer-events:none;width:36px;height:36px;color:var(--fg,#111);opacity:0;mix-blend-mode:difference;transition:width var(--dur-ui) var(--ease-out), height var(--dur-ui) var(--ease-out), margin var(--dur-ui) var(--ease-out), opacity var(--dur-ui), background-color var(--dur-ui);border:1px solid;border-radius:50%;place-items:center;margin:-18px 0 0 -18px;display:grid;position:fixed;top:0;left:0}.gc-cursor.is-active{opacity:1}.gc-cursor.is-link{width:56px;height:56px;margin:-28px 0 0 -28px}.gc-cursor.is-big{background:var(--fg,#111);mix-blend-mode:normal;width:96px;height:96px;margin:-48px 0 0 -48px}.gc-cursor__label{font:500 11px/1 var(--font-mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--bg,#fff);opacity:0;transition:opacity var(--dur-ui)}.gc-cursor.is-big .gc-cursor__label{opacity:1}.gc-preview{z-index:900;pointer-events:none;aspect-ratio:4/5;border-radius:var(--radius-sm,8px);opacity:0;visibility:hidden;background:50%/cover no-repeat;width:min(26vw,360px);margin:calc(min(26vw,360px)/-1.6) 0 0 calc(min(26vw,360px)/-2);position:fixed;top:0;left:0;transform:scale(.85)}[data-preloader]{z-index:2000;background:var(--fg);color:var(--bg);clip-path:inset(0);position:fixed;inset:0}[data-palette]{transition:none}.roll{vertical-align:top;display:inline-grid;overflow:hidden}.roll>span{transition:transform var(--dur-ui) var(--ease-out);grid-area:1/1}.roll>span+span{transform:translateY(105%)}:is(a,button):hover>.roll>span:first-child,.roll:hover>span:first-child{transform:translateY(-105%)}:is(a,button):hover>.roll>span+span,.roll:hover>span+span{transform:none}.u-link{transition:background-size .45s var(--ease-out);background:linear-gradient(currentColor 0 0) 100% 100%/0 1px no-repeat}.u-link:hover,.u-link:focus-visible{background-position:0 100%;background-size:100% 1px}@media (prefers-reduced-motion:reduce){[data-motion] [data-reveal],[data-motion] [data-intro]{visibility:visible!important}.gc-cursor,.gc-preview{display:none}}
:root{--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-inout:cubic-bezier(.87, 0, .13, 1);--dur-ui:.28s;--dur-reveal:1s;--dur-page:1.2s;--gutter:clamp(16px, 3vw, 48px);--gap:clamp(12px, 1.5vw, 24px);--section:clamp(96px, 14vw, 240px);--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-pill:999px;--fs-display:clamp(3.5rem, 2.1rem + 11vw, 13.5rem);--lh-display:.9;--ls-display:-.045em;--fw-display:400;--fs-h1:clamp(2.5rem, 1.5rem + 6vw, 6rem);--lh-h1:.95;--ls-h1:-.035em;--fw-h1:400;--fs-h2:clamp(2rem, 1.2rem + 4vw, 4rem);--lh-h2:1;--ls-h2:-.03em;--fw-h2:400;--fs-h3:clamp(1.25rem, .75rem + 2vw, 1.75rem);--lh-h3:1.15;--ls-h3:-.015em;--fw-h3:500;--fs-body:clamp(1rem, .95rem + .2vw, 1.125rem);--lh-body:1.5;--ls-body:-.005em;--fw-body:400;--fs-meta:.75rem;--lh-meta:1.3;--ls-meta:.04em;--fw-meta:400}[data-palette=mono-light]{--bg:#f4f3ef;--fg:#111;--accent:#111;--accent2:#8a8a85;--accent3:#8a8a85;--accent4:#111}[data-palette=mono-dark]{--bg:#ededed;--fg:#0b0b0b;--accent:#0b0b0b;--accent2:#6e6e6e;--accent3:#6e6e6e;--accent4:#0b0b0b}[data-palette=dark-accent]{--bg:#f2f2ee;--fg:#0a0a0a;--accent:#4f7a00;--accent2:#ff4d00;--accent3:#ff4d00;--accent4:#4f7a00}[data-palette=light-accent]{--bg:#fafaf7;--fg:#141414;--accent:#ff5a1f;--accent2:#2e4bff;--accent3:#2e4bff;--accent4:#ff5a1f}[data-palette=earthy-warm]{--bg:#efe9df;--fg:#2b2118;--accent:#b5552b;--accent2:#6f7a4e;--accent3:#6f7a4e;--accent4:#b5552b}[data-palette=vivid-multi]{--bg:#fffdf7;--fg:#15112b;--accent:#ff3d7f;--accent2:#2b59ff;--accent3:#ffc400;--accent4:#00c48c}[data-palette=pastel]{--bg:#f7f2ff;--fg:#1d1b2e;--accent:#8c6bff;--accent2:#ff9fb2;--accent3:#7fd6c2;--accent4:#8c6bff}[data-palette=gradient]{--bg:#f3f1fa;--fg:#0d0b1a;--accent:#6a4bff;--accent2:#00b3ff;--accent3:#ff4fd8;--accent4:#6a4bff}[data-palette=luxe]{--bg:#f6f3ee;--fg:#1a1714;--accent:#8c6a3f;--accent2:#b9afa2;--accent3:#b9afa2;--accent4:#8c6a3f}[data-palette=roast]{--bg:#f5f1eb;--fg:#15110e;--accent:#c2330a;--accent2:#e58a00;--accent3:#e58a00;--accent4:#c2330a}:root[data-theme=dark] [data-palette=mono-light],:root[data-theme=dark][data-palette=mono-light]{--bg:#0f0f0e;--fg:#ecebe6;--accent:#ecebe6;--accent2:#77766f;--accent3:#77766f;--accent4:#ecebe6}:root[data-theme=dark] [data-palette=mono-dark],:root[data-theme=dark][data-palette=mono-dark]{--bg:#0b0b0b;--fg:#ededed;--accent:#ededed;--accent2:#7a7a7a;--accent3:#7a7a7a;--accent4:#ededed}:root[data-theme=dark] [data-palette=dark-accent],:root[data-theme=dark][data-palette=dark-accent]{--bg:#0a0a0a;--fg:#f2f2f2;--accent:#c6ff3d;--accent2:#ff4d00;--accent3:#ff4d00;--accent4:#c6ff3d}:root[data-theme=dark] [data-palette=light-accent],:root[data-theme=dark][data-palette=light-accent]{--bg:#111;--fg:#f5f5f2;--accent:#ff7a45;--accent2:#7c8cff;--accent3:#7c8cff;--accent4:#ff7a45}:root[data-theme=dark] [data-palette=earthy-warm],:root[data-theme=dark][data-palette=earthy-warm]{--bg:#1c1611;--fg:#efe6d8;--accent:#e07a4a;--accent2:#a3ae7f;--accent3:#a3ae7f;--accent4:#e07a4a}:root[data-theme=dark] [data-palette=vivid-multi],:root[data-theme=dark][data-palette=vivid-multi]{--bg:#15112b;--fg:#fff8ec;--accent:#ff5c93;--accent2:#6b8bff;--accent3:#ffd23f;--accent4:#2ee6a8}:root[data-theme=dark] [data-palette=pastel],:root[data-theme=dark][data-palette=pastel]{--bg:#17152a;--fg:#f1ecff;--accent:#b39cff;--accent2:#ffb3c3;--accent3:#8fe3cf;--accent4:#b39cff}:root[data-theme=dark] [data-palette=gradient],:root[data-theme=dark][data-palette=gradient]{--bg:#07060d;--fg:#eeebff;--accent:#7b61ff;--accent2:#00c2ff;--accent3:#ff5be1;--accent4:#7b61ff}:root[data-theme=dark] [data-palette=luxe],:root[data-theme=dark][data-palette=luxe]{--bg:#12100e;--fg:#efe9e1;--accent:#c9a46a;--accent2:#6e655b;--accent3:#6e655b;--accent4:#c9a46a}:root[data-theme=dark] [data-palette=roast],:root[data-theme=dark][data-palette=roast]{--bg:#0f0c0a;--fg:#f4eee7;--accent:#ff5b1f;--accent2:#ffb23d;--accent3:#ffb23d;--accent4:#ff5b1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) [data-palette=mono-light],:root:not([data-theme=light])[data-palette=mono-light]{--bg:#0f0f0e;--fg:#ecebe6;--accent:#ecebe6;--accent2:#77766f;--accent3:#77766f;--accent4:#ecebe6}:root:not([data-theme=light]) [data-palette=mono-dark],:root:not([data-theme=light])[data-palette=mono-dark]{--bg:#0b0b0b;--fg:#ededed;--accent:#ededed;--accent2:#7a7a7a;--accent3:#7a7a7a;--accent4:#ededed}:root:not([data-theme=light]) [data-palette=dark-accent],:root:not([data-theme=light])[data-palette=dark-accent]{--bg:#0a0a0a;--fg:#f2f2f2;--accent:#c6ff3d;--accent2:#ff4d00;--accent3:#ff4d00;--accent4:#c6ff3d}:root:not([data-theme=light]) [data-palette=light-accent],:root:not([data-theme=light])[data-palette=light-accent]{--bg:#111;--fg:#f5f5f2;--accent:#ff7a45;--accent2:#7c8cff;--accent3:#7c8cff;--accent4:#ff7a45}:root:not([data-theme=light]) [data-palette=earthy-warm],:root:not([data-theme=light])[data-palette=earthy-warm]{--bg:#1c1611;--fg:#efe6d8;--accent:#e07a4a;--accent2:#a3ae7f;--accent3:#a3ae7f;--accent4:#e07a4a}:root:not([data-theme=light]) [data-palette=vivid-multi],:root:not([data-theme=light])[data-palette=vivid-multi]{--bg:#15112b;--fg:#fff8ec;--accent:#ff5c93;--accent2:#6b8bff;--accent3:#ffd23f;--accent4:#2ee6a8}:root:not([data-theme=light]) [data-palette=pastel],:root:not([data-theme=light])[data-palette=pastel]{--bg:#17152a;--fg:#f1ecff;--accent:#b39cff;--accent2:#ffb3c3;--accent3:#8fe3cf;--accent4:#b39cff}:root:not([data-theme=light]) [data-palette=gradient],:root:not([data-theme=light])[data-palette=gradient]{--bg:#07060d;--fg:#eeebff;--accent:#7b61ff;--accent2:#00c2ff;--accent3:#ff5be1;--accent4:#7b61ff}:root:not([data-theme=light]) [data-palette=luxe],:root:not([data-theme=light])[data-palette=luxe]{--bg:#12100e;--fg:#efe9e1;--accent:#c9a46a;--accent2:#6e655b;--accent3:#6e655b;--accent4:#c9a46a}:root:not([data-theme=light]) [data-palette=roast],:root:not([data-theme=light])[data-palette=roast]{--bg:#0f0c0a;--fg:#f4eee7;--accent:#ff5b1f;--accent2:#ffb23d;--accent3:#ffb23d;--accent4:#ff5b1f}}[data-palette]{--muted:color-mix(in oklab, var(--fg) 58%, var(--bg));--line:color-mix(in oklab, var(--fg) 14%, var(--bg));--surface:color-mix(in oklab, var(--fg) 5%, var(--bg));background-color:var(--bg);color:var(--fg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}body{min-height:100dvh;font-family:var(--font-sans), var(--font-jp), system-ui, sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt" 1}img,picture,video,canvas,svg{max-width:100%;display:block}:lang(ja){word-break:auto-phrase;line-break:strict}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--fg);color:var(--bg)}.t-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-display)}.t-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);font-weight:var(--fw-h1)}.t-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:var(--fw-h2)}.t-h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:var(--fw-h3)}.t-body{font-size:var(--fs-body);line-height:var(--lh-body)}.t-lead{letter-spacing:-.01em;font-size:clamp(1.125rem,1rem + .6vw,1.5rem);line-height:1.35}.t-meta{font-family:var(--font-mono), monospace;font-size:var(--fs-meta);line-height:var(--lh-meta);letter-spacing:var(--ls-meta);text-transform:uppercase}.t-muted{color:var(--muted)}.t-accent{color:var(--accent)}.t-balance{text-wrap:balance}.t-pretty{text-wrap:pretty}.t-jp{letter-spacing:-.01em;line-height:1.3;font-family:var(--font-jp), sans-serif}.f-sans{font-family:var(--font-sans), var(--font-jp), sans-serif}.f-serif{font-family:var(--font-serif), var(--font-jp), serif}.f-mono{font-family:var(--font-mono), monospace}.f-condensed{font-family:var(--font-condensed), var(--font-jp), sans-serif;text-transform:uppercase;letter-spacing:0}.f-expressive{font-family:var(--font-expressive), var(--font-jp), sans-serif}em.serif-em,.serif-em{font-family:var(--font-serif), serif;letter-spacing:-.01em;font-style:italic;font-weight:400}.container{width:100%;padding-inline:var(--gutter);margin-inline:auto}.grid-12{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--section)}.section-sm{padding-block:calc(var(--section) * .5)}.rule{border:0;border-top:1px solid var(--line)}.stack>*+*{margin-top:var(--stack,1rem)}.row{gap:var(--gap);align-items:center;display:flex}.between{justify-content:space-between;align-items:center;gap:var(--gap);display:flex}.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}.frame{position:relative;overflow:hidden}.btn{border-radius:var(--radius-pill);background:var(--fg);color:var(--bg);white-space:nowrap;transition:background-color var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out), transform var(--dur-ui) var(--ease-out);align-items:center;gap:.6em;padding:.9em 1.4em;font-weight:500;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn--accent{background:var(--accent);color:var(--bg)}.btn--ghost{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--fg)}.btn__arrow{transition:transform var(--dur-ui) var(--ease-out)}.btn:hover .btn__arrow{transform:translate(3px)rotate(-45deg)}.media{background:var(--surface);isolation:isolate;border-radius:var(--media-radius,0);position:relative;overflow:hidden}.media>img,.media>video,.media>.media__fill{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.media__fill{background:var(--media-bg)}.media__fill:after{content:"";opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.media__label{z-index:1;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:6px;padding:.35em .6em;position:absolute;bottom:.6rem;left:.75rem}.media--anim .media__fill{animation:media-drift 14s var(--ease-inout) infinite alternate;background-size:220% 220%}@keyframes media-drift{0%{background-position:0 30%}to{background-position:100% 70%}}.demo-bar{z-index:1500;border-radius:var(--radius-pill);background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);backdrop-filter:blur(12px)saturate(1.3);box-shadow:0 0 0 1px var(--line);align-items:center;gap:6px;padding:6px;font-size:12px;display:flex;position:fixed;bottom:12px;right:12px}.demo-bar a,.demo-bar button{border-radius:var(--radius-pill);padding:6px 10px}.demo-bar a:hover,.demo-bar button:hover{background:var(--surface)}::view-transition-group(.morph){animation-duration:.7s;animation-timing-function:var(--ease-out)}::view-transition-image-pair(.morph){animation-name:via-blur}@keyframes via-blur{30%{filter:blur(3px)}}
