.tp{padding:clamp(7.5rem,10vw,9.5rem) 0 clamp(5rem,8vw,8rem)}.tp__bar{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(1.75rem,3vw,2.75rem);font-size:.6875rem;display:flex}.tp__bar p{margin:0}.tp__back{min-height:2.75rem;color:var(--text);align-items:center;gap:.75rem;display:inline-flex}.tp__back span{width:2rem;height:2rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 22%, transparent);border-radius:50%;place-items:center;transition:background .3s,box-shadow .3s;display:grid}.tp__back:hover span{background:var(--primary);box-shadow:none}.tp__grid{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.tp__photo{margin:0;position:sticky;top:6.5rem}.tp__um{aspect-ratio:4/5;border-radius:1.75rem}html.js .tp__um[data-on]{clip-path:inset(9% round 1.75rem);transition:clip-path 1.35s var(--e-inout)}html.js .tp__um[data-on].is-on{clip-path:inset(0 round 1.75rem)}.tp__tag{text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem;position:absolute;bottom:1rem;left:1rem}.tp__tag>b{background:var(--primary);color:var(--on-primary)}.tp__tx{flex-direction:column;align-items:flex-start;padding-top:.5rem;display:flex}.tp__chip{margin:0 0 1.5rem}.tp__tx .hd{letter-spacing:-.05em;line-height:.92}.tp__role{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-muted);margin:1rem 0 0;font-size:clamp(1.25rem,1.9vw,1.625rem);font-weight:600}.tp__lead{max-width:34rem;font-family:var(--font-display);letter-spacing:-.035em;margin:clamp(2rem,3.4vw,3rem) 0 0;font-size:clamp(1.375rem,2vw,1.75rem);font-weight:600;line-height:1.12}.tp__bio{max-width:34rem;color:color-mix(in srgb, var(--text) 76%, transparent);margin:1rem 0 0;font-size:1.0625rem;line-height:1.6}.tp__works{width:100%;margin-top:2rem}.tp__wl{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .25rem;font-size:.6875rem}.tp .tp__works ul{margin:0;padding:0}.tp__works li{border-bottom:1px solid var(--border);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.875rem;padding:1rem 0;font-size:clamp(1.0625rem,1.4vw,1.25rem);font-weight:600;line-height:1.2;display:flex}.tp__works li i{background:var(--primary);border-radius:50%;flex:none;width:1.5rem;height:1.5rem;position:relative}.tp__works li i:after{content:"";background:var(--on-primary);-webkit-mask:var(--ck-icon) center / .8125rem no-repeat;mask:var(--ck-icon) center / .8125rem no-repeat;position:absolute;inset:0}.tp__btns{flex-wrap:wrap;gap:.75rem;margin:2rem 0 1.25rem;display:flex}.tp__cases,.tp__rest{margin-top:clamp(4.5rem,8vw,7.5rem)}.tp__cases>h2,.tp__rest>h2{letter-spacing:-.045em;margin:0 0 clamp(1.5rem,2.6vw,2.25rem);font-size:clamp(1.75rem,2.8vw,2.5rem);font-weight:700}.tp__cg{grid-template-columns:1fr 1fr;gap:clamp(.875rem,1.6vw,1.5rem);display:grid}.tp__case{background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 8%, transparent);color:var(--text);transition:translate .6s var(--e-spring), box-shadow .5s;border-radius:1.75rem;flex-direction:column;gap:.75rem;padding:.625rem .625rem 1.375rem;display:flex}.tp__case:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 12%, transparent), 0 2rem 4rem -2.5rem #0d0e1080;translate:0 -.375rem}.tp__cov{aspect-ratio:16/9.4;background:color-mix(in srgb, var(--stone) 22%, transparent);border-radius:1.25rem;position:relative;overflow:hidden}.tp__cov img{object-fit:cover;width:100%;height:100%;transition:scale 1.1s var(--e-out), filter .8s;position:absolute;inset:0}html.js .tp__cov[data-on] img{filter:grayscale()contrast(1.05)}html.js .tp__cov[data-on].is-on img{filter:none;transition-delay:.5s}.tp__case:hover .tp__cov img{scale:1.05}.tp__ct{border-radius:var(--pill);background:var(--cloud);color:var(--ink);font-family:var(--font-mono);align-items:center;gap:.5rem;padding:.375rem .6875rem;font-size:.6875rem;display:inline-flex;position:absolute;top:.75rem;left:.75rem}.tp__case h3{letter-spacing:-.035em;max-width:26ch;margin:.5rem .75rem 0;font-size:clamp(1.25rem,1.8vw,1.625rem);font-weight:700;line-height:1.08}.tp__cm{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:.375rem;margin:.5rem .75rem 0;font-size:.6875rem;display:flex}.tp__ba{font-family:var(--font-display);letter-spacing:-.03em;text-transform:none;color:var(--text);align-items:center;gap:.5rem;font-size:1.5rem;display:inline-flex}.tp__ba s{color:var(--text-muted);font-size:1rem;text-decoration:none}.tp__ba i{color:var(--text-muted);font-size:1rem;font-style:normal}.tp__ba b{background:var(--primary);color:var(--on-primary);border-radius:.375rem;padding:0 .375rem}.tp__read{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;margin:.375rem .75rem 0;font-size:.6875rem;display:inline-flex}.tp__read svg{transition:translate .4s var(--e-out)}.tp__case:hover .tp__read svg{translate:.375rem}.tp .tp__rest ul{grid-template-columns:repeat(7,minmax(0,1fr));gap:1.5rem 1rem;margin:0;padding:0;display:grid}.tp__rest a{color:var(--text);flex-direction:column;gap:.25rem;display:flex}.tp__av{filter:grayscale();border-radius:50%;width:4.5rem;height:4.5rem;margin-bottom:.75rem;transition:filter .5s,box-shadow .4s;display:block;position:relative;overflow:hidden}.tp__av img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tp__rest a:hover .tp__av{filter:none;box-shadow:0 0 0 3px var(--primary)}.tp__rest b{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.0625rem;line-height:1.15}.tp__rest small{color:var(--text-muted);font-size:.8125rem;line-height:1.3}@media (width<=68.6875rem){.tp .tp__rest ul{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=50.5625rem){.tp{padding:6.5rem 0 4.5rem}.tp__grid{grid-template-columns:1fr}.tp__photo{position:relative;top:auto}.tp__um{aspect-ratio:1/1.05;border-radius:1.25rem}.tp__btns .btn{width:100%;display:flex}.tp__cg{grid-template-columns:1fr}.tp .tp__rest ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.tp__um{clip-path:none!important}.tp__cov img{filter:none!important}}html.a11y-motion .tp__um{clip-path:none!important}html.a11y-motion .tp__cov img{filter:none!important}
