.navbar{z-index:10;position:relative}.navbar__inner{width:var(--frame-w);max-width:100%;min-height:100px;padding-inline:var(--grid-margin);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.navbar__group{align-items:center;gap:var(--space-4);display:flex}.navbar__mark{font-family:var(--font-mark);font-size:24px;font-weight:700}.navbar__links{align-items:center;gap:var(--space-1);display:flex}.navbar__link{padding:var(--space-2);transition:opacity var(--dur-fast) var(--ease-out);font-weight:500}.navbar__link:hover{opacity:.6}.navbar__sep{display:inline-flex}.navbar__resume{padding:var(--space-2) var(--space-3);transition:opacity var(--dur-fast) var(--ease-out);font-weight:500}.navbar__resume:hover{opacity:.6}.split-btn{align-items:center;width:100%;display:flex}.split-btn__label{min-width:1px;height:var(--control-h);padding:var(--space-2) var(--space-3);background:var(--color-surface);font-weight:500;font-size:var(--text-body);color:var(--color-ink);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex:1 0 0;align-items:center;display:flex}.split-btn__icon{width:var(--control-h);height:var(--control-h);background:var(--color-ink);color:var(--color-on-ink);transition:transform var(--dur-fast) var(--ease-out);flex:none;place-items:center;display:grid}.split-btn:hover .split-btn__label{background:var(--color-ink);color:var(--color-on-ink)}.split-btn:hover .split-btn__icon{transform:translate(2px,-2px)}.tile-grid{width:100vw;height:620px;margin-left:-50vw;position:absolute;top:904px;left:50%;overflow:hidden}.tile-grid__row{will-change:transform;width:max-content;transition:transform var(--dur-fast) linear;gap:16px;display:flex;position:absolute;left:0}.tile-grid__row--a{transform:translateX(calc(0px - var(--shift,0px)));top:0}.tile-grid__row--b{transform:translateX(calc(0px - var(--max-shift,0px) + var(--shift,0px)));top:290px}.tile-grid__tile{flex:none;width:400px;height:274px;position:relative;overflow:hidden}.tile-grid__tile img{object-fit:cover;width:100%;height:100%}@media (prefers-reduced-motion:reduce){.tile-grid__row{transition:none}.tile-grid__row--a{transform:none}.tile-grid__row--b{transform:translateX(calc(0px - var(--max-shift,0px)))}}.hero{background:var(--color-bg);width:100%;height:1594px;margin-inline:auto;position:relative;overflow:hidden}.hero__content{width:var(--frame-w);height:904px;position:absolute;top:0;left:50%;transform:translate(-50%)}.hero__name{left:var(--col-1);width:var(--span-6);flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:172px}.hero__name-row{align-items:center;gap:var(--space-3);display:flex}.hero__word{font-family:var(--font-display);font-weight:700;font-size:var(--text-h1);letter-spacing:normal;color:var(--color-ink);white-space:nowrap;line-height:1}.hero__rule{background:var(--color-ink);flex:none;width:66px;height:2px}.hero__role{margin-top:var(--space-4);font-family:var(--font-body);font-size:var(--text-lead);font-weight:500}.hero__image{top:0;left:var(--col-8);width:var(--span-5);background-position:50%;background-size:cover;height:904px;position:absolute}.hero__intro{left:var(--col-1);width:var(--span-6);gap:var(--space-6);flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:668px}.hero__intro-text{font-family:var(--font-display);font-size:var(--text-lead);color:var(--color-ink-soft);line-height:1.5}.hero__greeting{color:var(--color-ink);font-weight:700}.hero__cta{width:100%}.project-card{background:var(--color-bg);width:100%;height:100vh;position:sticky;top:0;overflow:hidden}.project-card__dim{opacity:var(--dim,0);pointer-events:none;z-index:40;transition:opacity var(--dur-fast) linear;background:#000;position:absolute;inset:0}.project-card__frame{width:var(--frame-w);grid-template-columns:repeat(var(--grid-columns), 1fr);column-gap:var(--grid-gutter);max-width:100%;height:100%;padding-inline:var(--grid-margin);margin-inline:auto;display:grid;position:relative}.project-card__panel{background:var(--color-surface);background-position:50%;background-size:cover;grid-area:1/1/auto/span 7;align-self:stretch;height:100%}.project-card__content{padding-block:var(--space-6);flex-direction:column;grid-area:1/8/auto/span 5;height:100%;display:flex}.project-card__frame--reversed .project-card__panel{grid-column:6/span 7}.project-card__frame--reversed .project-card__content{grid-column:1/span 5}.project-card__frame--reversed .project-card__meta,.project-card__frame--reversed .project-card__meta-group{align-items:flex-start}.project-card__meta{align-items:flex-end;gap:var(--space-4);flex-direction:column;display:flex}.project-card__meta-group{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.project-card__meta-label{font-size:var(--text-label);color:var(--color-muted);line-height:1.2}.project-card__meta-value{font-size:var(--text-small);color:var(--color-ink);white-space:nowrap;line-height:1.2}.project-card__detail{align-items:flex-start;gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.project-card__title{font-family:var(--font-body);font-weight:700;font-size:var(--text-title);letter-spacing:normal;white-space:nowrap;line-height:1.05}.project-card__desc{font-size:var(--text-small);color:var(--color-ink);width:100%;line-height:1.5}.project-stack{z-index:1;position:relative}.stacking{position:relative}.stacking__hero-layer{z-index:0;height:1468px;position:relative}.stacking__hero-sticky{height:100vh;position:sticky;top:0;overflow:hidden}.stacking__hero-frame{width:100%;position:absolute;top:0;left:0}.stacking__hero-dim{opacity:var(--dim,0);pointer-events:none;z-index:40;transition:opacity var(--dur-fast) linear;background:#000;position:absolute;inset:0}:root{--color-bg:#f9f2e1;--color-surface:#fff;--color-ink:#000;--color-ink-soft:#232323;--color-muted:#6c757d;--color-border:#adb5bd;--color-on-ink:#f9f2e1;--grid-columns:12;--grid-margin:150px;--grid-gutter:20px;--frame-w:1440px;--grid-content:calc(var(--frame-w) - 2 * var(--grid-margin));--col:calc((var(--grid-content) - (var(--grid-columns) - 1) * var(--grid-gutter)) / var(--grid-columns));--col-step:calc(var(--col) + var(--grid-gutter));--col-1:var(--grid-margin);--col-8:calc(var(--grid-margin) + 7 * var(--col-step));--span-6:calc(6 * var(--col) + 5 * var(--grid-gutter));--span-5:calc(5 * var(--col) + 4 * var(--grid-gutter));--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:40px;--space-7:64px;--font-display:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mark:"Rosario", Georgia, serif;--text-title:56px;--text-lead:20px;--text-body:16px;--text-small:14px;--text-label:12px;--control-h:56px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.12s}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-bg);margin:0}body{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-ink);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
:root{--grid-margin:64px;--frame-w:min(1440px,100vw)}@media(max-width:900px){:root{--grid-margin:40px}}@media(max-width:620px){:root{--grid-margin:24px}}