@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#fafaf8;--ink:#141414;--ink-2:#3d3d3a;--mute:#6b6b67;--mute-2:#5e5e5a;--line:#e3e3df;--line-2:#dcdcd7;--underline:#c4c4bf;--sep:#b4b4af;--tile-bg:#f0f0ec;--tile-hover:#e9e9e4;--surface:#fff;--accent:#c8f53a;--dialog-text:#2b2b29;--sans:"Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"Geist Mono", ui-monospace, Menlo, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--pad-top:clamp(64px, 14vh, 196px);--pad-x:clamp(24px, 9vw, 152px);--tile-export:clamp(200px, calc(100dvh - 440px), 352px);--tile-big:min(55dvh, calc(100dvh - var(--pad-top) - 329px));--tile:min(78vw, max(var(--tile-export), min(var(--tile-big), calc((var(--tile-big) - 352px) * 1000 + 352px))));--u:max(1px, calc(var(--tile) / 352));--gap:clamp(56px, 8vw, calc(128 * var(--u)))}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0;overflow:hidden}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font:inherit;color:inherit}a,a:hover{color:var(--ink)}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}[tabindex="-1"]:focus{outline:none}[hidden]{display:none!important}.page{background:var(--bg);color:var(--ink);font-family:var(--sans);position:fixed;inset:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.text-link{color:var(--ink);text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:var(--underline);transition:text-decoration-color .2s}.text-link:hover{text-decoration-color:var(--ink)}.home{z-index:20;letter-spacing:-.01em;color:var(--ink);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;padding:8px 0;font-size:13px;font-weight:550;transition:opacity .3s;position:fixed;top:12px;left:clamp(20px,3vw,32px)}.lang{z-index:20;font-family:var(--mono);letter-spacing:.02em;align-items:center;gap:2px;font-size:12px;display:flex;position:fixed;top:12px;right:clamp(14px,3vw,26px)}.lang a{letter-spacing:normal;color:var(--mute);text-underline-offset:4px;padding:8px 6px;text-decoration:none;transition:color .2s}.lang a:hover{color:var(--ink)}.lang a[aria-current]{color:var(--ink);text-decoration:underline}.lang-sep{color:var(--sep)}.indicator{z-index:20;font-family:var(--mono);letter-spacing:.02em;color:var(--mute);pointer-events:none;align-items:center;gap:10px;font-size:11px;display:flex;position:fixed;bottom:20px;left:clamp(20px,3vw,32px)}.indicator-num{color:var(--ink)}.indicator-bar{background:var(--line-2);width:56px;height:1px;display:block;position:relative;overflow:hidden}.indicator-fill{background:var(--ink);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.legal-nav{z-index:20;gap:16px;font-size:12px;display:flex;position:fixed;bottom:12px;right:clamp(20px,3vw,32px)}.legal-nav button{color:var(--mute);cursor:pointer;background:0 0;border:0;padding:8px 0;transition:color .2s}.legal-nav button:hover{color:var(--ink)}.scroller{overscroll-behavior:none;scrollbar-width:none;scroll-snap-type:none;scroll-padding-inline:var(--pad-x);position:absolute;inset:0;overflow:auto hidden}.scroller::-webkit-scrollbar{display:none}@media (pointer:coarse){.scroller{scroll-snap-type:x proximity}}.track{box-sizing:border-box;align-items:flex-start;gap:var(--gap);width:max-content;height:100%;padding:var(--pad-top) var(--pad-x) 56px;display:flex}.intro{box-sizing:border-box;width:calc(100vw - var(--pad-x) - 12 * var(--u) - var(--tile) * .35);min-height:var(--tile);margin-right:calc(12 * var(--u) - var(--gap));padding:calc(16 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u));border:1px solid var(--line);border-radius:calc(6 * var(--u));background:var(--surface);scroll-snap-align:start;flex-direction:column;flex:none;display:flex}.intro-spacer{min-height:calc(24 * var(--u));flex:1}.intro-name,.intro-text{font-size:calc(16 * var(--u));letter-spacing:-.005em;text-wrap:pretty;margin:0;font-weight:400;line-height:1.6}.intro-name{font-weight:560}.intro-text a{white-space:nowrap}.link-row{margin-top:calc(20 * var(--u));gap:calc(6 * var(--u)) calc(18 * var(--u));font-size:calc(13 * var(--u));flex-wrap:wrap;display:flex}.link-row a{color:var(--mute);margin:-8px 0;padding:8px 0;text-decoration:none;transition:color .2s}.link-row a:hover{color:var(--ink)}.group{align-items:flex-start;gap:calc(12 * var(--u));flex:none;display:flex}.label-tile{width:var(--tile);height:var(--tile);border-radius:calc(6 * var(--u));background:var(--accent);scroll-snap-align:start;flex:none;transition:background-color .3s;position:relative;overflow:hidden}.label-meta{top:calc(16 * var(--u));left:calc(18 * var(--u));right:calc(18 * var(--u));font-family:var(--mono);font-size:calc(11 * var(--u));letter-spacing:.02em;color:var(--ink);justify-content:space-between;display:flex;position:absolute}.label-word{left:0;bottom:calc(6 * var(--u));font-size:calc(var(--tile) * .4);letter-spacing:-.055em;white-space:nowrap;color:var(--ink);will-change:transform;transform:translate3d(calc(var(--tile) * .06), 0, 0);margin:0;font-weight:800;line-height:1;position:absolute}.tile{width:var(--tile);scroll-snap-align:start;flex-direction:column;flex:none;display:flex}.tile-btn{box-sizing:border-box;width:100%;height:var(--tile);border-radius:calc(6 * var(--u));padding:calc(16 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u));background:var(--tile-bg);color:var(--ink);text-align:left;cursor:pointer;border:0;flex-direction:column;margin:0;transition:background-color .25s;display:flex;position:relative;overflow:hidden}.tile-btn:hover,.tile-btn[aria-expanded=true]{background:var(--tile-hover)}.tile-meta{font-family:var(--mono);font-size:calc(11 * var(--u));letter-spacing:.02em;color:var(--mute-2);justify-content:space-between;align-items:center;display:flex}.plus{width:calc(11 * var(--u));height:calc(11 * var(--u));transition:transform .4s var(--ease);display:block;position:relative;transform:rotate(0)}.plus:before,.plus:after{content:"";background:var(--ink);position:absolute}.plus:before{left:0;top:calc(5 * var(--u));width:100%;height:1px}.plus:after{left:calc(5 * var(--u));width:1px;height:100%;top:0}.tile-btn[aria-expanded=true] .plus{transform:rotate(45deg)}.tile-spacer{flex:1}.tile-name{font-size:clamp(calc(22 * var(--u)), calc(var(--tile) * .085), calc(30 * var(--u)));letter-spacing:-.035em;overflow-wrap:anywhere;font-weight:600;line-height:1.05}.tile-line{margin-top:calc(8 * var(--u));font-size:clamp(calc(13 * var(--u)), calc(var(--tile) * .04), calc(14 * var(--u)));color:var(--ink-2);text-wrap:pretty;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.tile-facts{margin-top:clamp(calc(8 * var(--u)), calc(var(--tile) * .04), calc(14 * var(--u)));gap:calc(4 * var(--u)) calc(12 * var(--u));font-family:var(--mono);font-size:calc(11 * var(--u));letter-spacing:.01em;color:var(--mute-2);flex-wrap:wrap;display:flex}.panel{opacity:0;transition:grid-template-rows .5s var(--ease), opacity .35s ease;grid-template-rows:0fr;display:grid}.tile-btn[aria-expanded=true]+.panel{opacity:1;grid-template-rows:1fr}.panel-clip{min-height:0;overflow:hidden}.panel-body{max-height:calc(100dvh - var(--pad-top) - var(--tile) - 64px);overscroll-behavior:contain;scrollbar-width:thin;padding:14px 0 4px;overflow-y:auto}.details{border-top:1px solid var(--line);margin:0;font-size:13px;line-height:1.4}.details>div{border-bottom:1px solid var(--line);grid-template-columns:76px minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.details dt{font-family:var(--mono);letter-spacing:.01em;color:var(--mute);padding-top:1px;font-size:11px}.details dd{color:var(--ink);margin:0}.cta{background:var(--accent);height:38px;color:var(--ink);cursor:pointer;border:0;border-radius:6px;align-items:center;gap:10px;margin-top:14px;padding:0 14px;font-size:13px;font-weight:500;transition:opacity .2s;display:inline-flex}.cta:hover{opacity:.82}.end{align-items:stretch;gap:calc(14 * var(--u));flex:none;display:flex}.contact{box-sizing:border-box;width:var(--tile);min-height:var(--tile);padding:calc(16 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u));border:1px solid var(--line);border-radius:calc(6 * var(--u));background:var(--surface);scroll-snap-align:start;flex-direction:column;flex:none;display:flex}.card-meta{font-family:var(--mono);font-size:calc(11 * var(--u));letter-spacing:.02em;color:var(--mute-2);justify-content:space-between;display:flex}.contact-spacer{min-height:calc(24 * var(--u));flex:1}.contact h2{font-size:calc(26 * var(--u));letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:600;line-height:1.1}.contact p{margin:calc(8 * var(--u)) 0 0;font-size:calc(14 * var(--u));color:var(--ink-2);text-wrap:pretty;line-height:1.45}.contact .link-row{margin-top:calc(14 * var(--u))}.email-block{margin-top:calc(18 * var(--u))}.reveal{box-sizing:border-box;width:100%;height:calc(40 * var(--u));padding:0 calc(14 * var(--u));border-radius:calc(6 * var(--u));background:var(--accent);color:var(--ink);font-size:calc(13 * var(--u));cursor:pointer;border:0;justify-content:space-between;align-items:center;font-weight:500;transition:opacity .2s;display:flex}.reveal:hover{opacity:.82}.email-row{box-sizing:border-box;min-height:calc(40 * var(--u));justify-content:space-between;align-items:center;gap:calc(12 * var(--u));border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex}.email-link{overflow-wrap:break-word;min-width:0;font-size:calc(14 * var(--u));font-weight:500}.copy{height:calc(28 * var(--u));padding:0 calc(10 * var(--u));border:1px solid var(--line-2);border-radius:calc(5 * var(--u));background:var(--surface);font-family:var(--mono);font-size:calc(11 * var(--u));letter-spacing:.02em;color:var(--ink);cursor:pointer;flex:none;transition:border-color .2s}.copy:hover{border-color:var(--ink)}.vfoot{writing-mode:vertical-rl;justify-content:space-between;align-self:stretch;align-items:center;gap:calc(14 * var(--u));white-space:nowrap;font-size:calc(11 * var(--u));color:var(--mute);flex:none;line-height:1;display:flex;transform:rotate(180deg)}.vfoot-copy{font-family:var(--mono);font-size:calc(11 * var(--u));letter-spacing:.02em}.vfoot button{writing-mode:vertical-rl;color:var(--mute);cursor:pointer;background:0 0;border:0;padding:0;line-height:1;transition:color .2s}.vfoot button:hover{color:var(--ink)}.legal{z-index:40;box-sizing:border-box;-webkit-backdrop-filter:blur(8px);width:100%;max-width:none;height:100%;max-height:none;color:inherit;background:#fafaf8d6;border:0;margin:0;padding:16px;position:fixed;inset:0}.legal[open]{justify-content:center;align-items:center;display:flex}.legal::backdrop{background:0 0}.legal-box{box-sizing:border-box;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);width:100%;max-width:560px;max-height:min(84vh,720px);color:var(--dialog-text);border-radius:8px;padding:12px 24px 28px;font-size:14px;line-height:1.55;overflow-y:auto;box-shadow:0 24px 64px -24px #1414142e}.legal-head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:-12px -24px 0;padding:12px 24px 10px;display:flex;position:sticky;top:-12px}.legal-tabs{gap:18px;font-size:13px;display:flex}.legal-tabs button{cursor:pointer;color:var(--mute);text-underline-offset:5px;background:0 0;border:0;padding:8px 0;text-decoration:none}.legal-tabs button[aria-pressed=true]{color:var(--ink);text-decoration:underline}.legal-close{cursor:pointer;font-family:var(--mono);letter-spacing:.02em;color:var(--mute);background:0 0;border:0;padding:8px 0;font-size:11px;transition:color .2s}.legal-close:hover{color:var(--ink)}.legal-box h2{letter-spacing:-.02em;color:var(--ink);margin:22px 0 2px;font-size:18px;font-weight:600}.legal-box h3{color:var(--ink);margin:18px 0 2px;font-size:13px;font-weight:600}.legal-box p{margin:0}.legal-box .legal-sub{color:var(--mute);margin:0 0 16px;font-size:13px}.legal-box .legal-note{color:var(--mute);margin:20px 0 0;font-size:12px}@media (width>=900px) and (height>=481px) and (aspect-ratio>=1){:root{--hero:min(max(50vw, calc(var(--tile) * 1.67)), calc(100vw - 2 * (var(--tile) * .5 + 12 * var(--u))))}.intro{scroll-snap-align:center}.track{padding-left:calc((100vw - var(--hero)) / 2)}.intro{width:var(--hero);height:var(--tile)}.intro-name,.intro-text{max-width:20em;font-size:max(calc(16 * var(--u)), calc(var(--tile) * .07));letter-spacing:-.02em;line-height:1.25}}.intro,.group,.contact{scroll-margin-top:var(--track-top,var(--pad-top))}@media not all and (width>=900px) and (height>=481px) and (aspect-ratio>=1){:root{--tile:min(78vw, calc(100dvh - 128px));--track-top:max(var(--pad-top), calc((100dvh - var(--tile)) / 2))}.scroller{overflow-y:auto}.track{height:auto;min-height:100%;padding-top:var(--track-top);padding-bottom:72px}.panel-body{max-height:none}.intro-name,.intro-text{font-size:max(calc(16 * var(--u)), calc(var(--tile) * .07));letter-spacing:-.015em;line-height:1.3}.home,.lang,.legal-nav{background:var(--bg);border-radius:6px}.home{margin-left:-8px;padding-inline:8px}.legal-nav{margin-right:-8px;padding-inline:8px}}@media (height<=480px){.indicator{display:none}}@media (width<=379px){[data-sec-name]{display:none}}@media (forced-colors:active){.label-tile,.tile-btn,.cta,.reveal{outline-offset:-1px;outline:1px solid canvastext}.plus:before,.plus:after,.indicator-fill{forced-color-adjust:none;background:canvastext}.indicator-bar{forced-color-adjust:none;background:graytext}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important}}
