.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #f1f1f1;--card: #ffffff;--ink: #1b1b1b;--ink-soft: #4a4a4a;--ink-muted: #8a8a8a;--highlight: #1e6bb8;--radius: 4px;--font: "Inter", "Shippori Gothic B2", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, system-ui, sans-serif;--font-display: "Inter", "Shippori Gothic B2", -apple-system, BlinkMacSystemFont, sans-serif}[data-theme=dark]{--bg: #111111;--card: #1e1e1e;--ink: #eaeaea;--ink-soft: #b5b5b5;--ink-muted: #6a6a6a}:root{--phi: 1.618;--stage-pad: clamp(14px, 1.8vw, 32px);--name-gap: clamp(6px, 1vh, 14px);--name-h: clamp(28px, 3vw, 40px);--avail-w: calc(100vw - 2 * var(--stage-pad));--avail-h: calc( 100dvh - 2 * var(--stage-pad) - 2 * var(--name-h) - 2 * var(--name-gap) );--card-width: min(1360px, var(--avail-w), calc(var(--avail-h) * var(--phi)));--card-height: calc(var(--card-width) / var(--phi))}html.is-expanded{--stage-pad: clamp(20px, 5vw, 32px);--card-width: var(--avail-w);--card-height: calc( 100dvh - 2 * var(--stage-pad) - var(--name-h) - var(--name-gap) )}html.is-expanded .stage{padding-top:var(--stage-pad)}html.is-expanded .expand-toggle{bottom:calc(var(--stage-pad) + 14px)}html.is-expanded .pull-cord{display:none}body,.card,.slideshow,.separator,.bio li,.bio li:before,.name,.cord-line,.cord-knob{transition:background-color .28s ease,color .28s ease,fill .28s ease,stroke .28s ease}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-feature-settings:"palt" 1;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.75;letter-spacing:.01em}a{color:inherit}::selection{background:var(--highlight);color:#fff}::-moz-selection{background:var(--highlight);color:#fff}ul{list-style:none;margin:0;padding:0}.stage{height:100dvh;min-height:0;display:flex;flex-direction:column;align-items:center;padding-top:calc(50dvh - var(--card-height) / 2 - var(--name-h) - var(--name-gap));padding-right:var(--stage-pad);padding-bottom:var(--stage-pad);padding-left:var(--stage-pad);gap:var(--name-gap)}.name{position:relative;width:var(--card-width);margin:0;padding:0;font-family:var(--font-display);font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.055em;line-height:1;text-transform:uppercase;white-space:nowrap}.name-base{color:inherit;text-decoration:none}.name-short{display:none}@media(max-width:900px){.name:has(.name-extra) .name-full{display:none}.name:has(.name-extra) .name-short{display:inline}}.name-extra{display:inline-block;color:var(--ink);font-style:italic}.name-extra:before{content:"";display:inline-block;width:1px;height:.68em;background:var(--ink);margin:0 .6em;opacity:.55;vertical-align:baseline;transform:translateY(-.05em)}.name-extra a{color:inherit;text-decoration:none;transition:color .16s ease}.name-extra a:hover{color:var(--ink-muted)}.name-sep{margin:0 .1em 0 .3em;color:inherit;font-style:normal}.name.is-collapsed .name-sep,.name.is-collapsed .name-crumb:not(:last-child){display:none}.name-crumb__short{display:none}.name.is-collapsed .name-crumb:has(.name-crumb__short) .name-crumb__full{display:none}.name.is-collapsed .name-crumb__short{display:inline}.menu-toggle{--size: clamp(28px, 3vw, 40px);position:absolute;top:0;right:0;z-index:60;width:var(--size);height:var(--size);display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:calc(var(--size) * .22);padding:0;margin:0;background:none;border:0;color:var(--ink);cursor:pointer}.menu-toggle span{display:block;width:100%;height:max(1.5px,calc(var(--size) * .05));background:currentColor;transform-origin:50% 50%;transition:transform .22s ease,opacity .18s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(calc(var(--size) * .27)) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(calc(var(--size) * -.27)) rotate(-45deg)}.expand-toggle{--size: clamp(18px, 1.4vw, 22px);position:fixed;bottom:calc(50dvh - var(--card-height) / 2 + 14px);right:calc((100vw - var(--card-width)) / 2 + 14px);z-index:50;width:var(--size);height:var(--size);display:flex;align-items:center;justify-content:center;padding:0;margin:0;background:none;border:0;color:color-mix(in srgb,var(--ink) 28%,transparent);cursor:pointer;transition:color .16s ease,transform .16s ease}.expand-toggle:hover{color:var(--ink);transform:scale(1.06)}.expand-toggle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.9;stroke-linecap:square;stroke-linejoin:miter}.expand-toggle .icon-collapse,.expand-toggle[aria-pressed=true] .icon-expand{display:none}.expand-toggle[aria-pressed=true] .icon-collapse{display:inline}@media(max-width:900px){.expand-toggle{display:none}}.card{--gutter: clamp(28px, 3.4vw, 52px);--col-gap: clamp(24px, 3vw, 48px);--photo-size: calc(var(--card-height) - 2 * var(--gutter));position:relative;width:var(--card-width);height:var(--card-height);background:var(--card);border-radius:var(--radius);padding:var(--gutter)}.home{height:100%;display:grid;grid-template-columns:1fr var(--photo-size);grid-template-rows:minmax(0,1fr) auto auto;column-gap:var(--col-gap);row-gap:clamp(12px,1.6vh,24px)}.page{height:100%;display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,2vh,24px)}.page h2{font-family:var(--font-display);font-size:clamp(28px,3vw,42px);font-weight:700;letter-spacing:-.04em;line-height:1.1;margin:0;text-transform:uppercase}.page p{color:var(--ink-soft);font-size:clamp(14px,1.1vw,17px);font-weight:500;line-height:1.7;margin:0;max-width:62ch}.page .soon{color:var(--ink-muted);font-family:var(--font-display);font-size:clamp(12px,1vw,14px);letter-spacing:.2em;text-transform:uppercase}.bio{grid-column:1;grid-row:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ink-muted) transparent}.bio::-webkit-scrollbar{width:4px}.bio::-webkit-scrollbar-thumb{background:var(--ink-muted);border-radius:2px}.bio ul{display:flex;flex-direction:column;gap:clamp(6px,.9vh,12px)}.bio li{position:relative;padding-left:20px;color:var(--ink-soft);font-size:clamp(13.5px,1.05vw,16px);font-weight:500;line-height:1.68}.bio li:before{content:"";position:absolute;left:2px;top:.72em;width:5px;height:5px;background:var(--ink)}.separator{grid-column:1;grid-row:2;border:0;width:100%;height:1px;margin:0;background:var(--bg)}.links{grid-column:1;grid-row:3;align-self:end;min-width:0}.links ul{margin:0;display:flex;flex-direction:column;gap:clamp(6px,.9vh,12px)}.links a{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-size:clamp(19px,2vw,26px);font-weight:600;letter-spacing:-.035em;line-height:1.25;transition:color .16s ease}.links a:hover{color:var(--ink-soft)}.links .arrow{font-size:.8em;color:var(--ink-muted);transition:transform .16s ease,color .16s ease}.links a:hover .arrow{color:var(--ink);transform:translate(2px,-2px)}.slideshow{grid-column:2;grid-row:1 / -1;position:relative;align-self:center;justify-self:center;width:100%;aspect-ratio:1 / 1;background:var(--bg);border-radius:var(--radius);overflow:hidden}.slide{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .8s ease}.slide.is-active{opacity:1}.slide img,.slide video{width:100%;height:100%;object-fit:cover;display:block}.slide__placeholder{color:var(--ink-muted);font-size:13px;letter-spacing:.08em}.menu-backdrop{position:absolute;inset:0;border-radius:var(--radius);background:color-mix(in srgb,var(--card) 38%,transparent);backdrop-filter:blur(32px) saturate(1.1);-webkit-backdrop-filter:blur(32px) saturate(1.1);opacity:0;pointer-events:none;transition:opacity .32s ease;z-index:1}html.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.menu{position:absolute;inset:0;padding:var(--gutter);display:flex;flex-direction:column;justify-content:center;z-index:2;opacity:0;pointer-events:none;transition:opacity .32s ease 60ms}html.menu-open .menu{opacity:1;pointer-events:auto}.menu>ul{display:flex;flex-direction:column;gap:clamp(8px,1.4vh,18px)}.menu li{margin:0}.menu a{display:inline-flex;align-items:baseline;text-decoration:none;color:var(--ink);transition:color .16s ease}.menu-title{font-family:var(--font-display);font-size:clamp(18px,2.2vw,30px);font-weight:700;letter-spacing:-.035em;line-height:1.15}.menu-arrow{display:inline-block;font-size:.5em;color:var(--ink-muted);margin-left:8px;vertical-align:middle;transition:transform .16s ease,color .16s ease}.menu a:hover .menu-title{color:var(--ink-soft)}.menu a:hover .menu-arrow{color:var(--ink);transform:translate(2px,-2px)}.menu-children{list-style:none;margin:clamp(4px,.6vh,10px) 0 clamp(2px,.4vh,6px) clamp(14px,1.6vw,24px);padding:0;display:flex;flex-direction:column;gap:clamp(3px,.5vh,6px)}.menu-subtitle{font-family:var(--font-display);font-size:clamp(12px,1.05vw,15px);font-weight:500;color:var(--ink-soft);letter-spacing:-.01em;line-height:1.2}.menu-children a:hover .menu-subtitle{color:var(--ink)}.pull-cord{position:fixed;top:calc(50dvh - var(--card-height) / 2 - 258px);left:calc((100vw - var(--card-width)) / 4 - 90px);width:180px;height:620px;pointer-events:none;overflow:visible;z-index:50}.cord-line{fill:none;stroke:var(--ink);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.cord-knob{fill:var(--ink);pointer-events:none}.cord-knob-hit{fill:transparent;pointer-events:auto;cursor:grab;touch-action:none}.pull-cord.is-dragging .cord-knob-hit{cursor:grabbing}.cmdk-overlay{position:fixed;inset:0;z-index:90;display:none;align-items:flex-start;justify-content:center;padding-top:clamp(120px,28vh,240px);background:color-mix(in srgb,var(--ink) 28%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cmdk-overlay.is-open{display:flex;animation:cmdk-fade-in .16s ease both}.cmdk-panel{width:min(580px,92vw);background:var(--card);border-radius:6px;overflow:hidden;box-shadow:0 18px 48px #0000002e,0 1px color-mix(in srgb,var(--ink) 6%,transparent) inset}.cmdk-overlay.is-open .cmdk-panel{animation:cmdk-panel-in .22s cubic-bezier(.22,1,.36,1) both}@keyframes cmdk-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cmdk-panel-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.cmdk-input{width:100%;box-sizing:border-box;padding:18px 22px;border:0;background:transparent;font-family:var(--font);font-size:16px;font-weight:500;color:var(--ink);outline:none;border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.cmdk-input::placeholder{color:var(--ink-muted)}.cmdk-results{list-style:none;margin:0;padding:6px 0;max-height:min(50vh,380px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ink-muted) transparent}.cmdk-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding:10px 22px;cursor:pointer;color:var(--ink)}.cmdk-item.is-active{background:color-mix(in srgb,var(--ink) 6%,transparent)}.cmdk-label{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em}.cmdk-section{font-size:11px;color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.cmdk-path{color:var(--ink-muted);font-size:12px;font-family:var(--font);text-align:right}.cmdk-empty{padding:14px 22px;color:var(--ink-muted);font-size:13px}.cmdk-hint{display:flex;gap:14px;padding:8px 22px;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-muted);font-family:var(--font);font-size:12px;letter-spacing:.02em}.cmdk-hint kbd{display:inline-block;padding:1px 6px;margin-right:4px;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:3px;font-family:var(--font);font-size:11px;font-weight:500}@media(max-width:900px){.pull-cord{display:none}}@media(max-width:900px){.stage{--stage-pad: clamp(20px, 5vw, 32px);--card-width: 100%;justify-content:flex-start;padding:var(--stage-pad)}.card{--gutter: clamp(24px, 5vw, 36px);width:100%;height:auto;flex:1 1 auto;min-height:0;padding:var(--gutter);overflow-y:auto;overscroll-behavior:contain}.home{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;column-gap:0;row-gap:var(--gutter)}.bio{grid-column:1;grid-row:1}.separator{grid-column:1;grid-row:2}.links{grid-column:1;grid-row:3}.slideshow{grid-column:1;grid-row:4;width:min(320px,100%);height:auto;aspect-ratio:1 / 1;margin:0 auto;justify-self:center}.bio li{font-size:14px}.links a{font-size:22px}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
